Facebook
From Gamboge Finch, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 85
  1. #include <iostream>
  2. #include <thread>
  3. #include <cmath>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. const int N=1024;
  9. const int level=8;
  10.  
  11. unsigned char tab[1024][1024][3];
  12.  
  13. void triangle(int lvl, int x, int y) {
  14.     int size=N/pow(2,lvl);
  15.  
  16.     for(int i=0;i<size;i++)//pionowe //wysokosc = y
  17.         for (int j=0;j<size;j++)//poziome // szerokosc = x
  18.             if (i == j || i == 0 || j == size - 1)
  19.                 for (int k=0;k<3;k++)
  20.                 {
  21.                         tab[j + x][i + y][k] = 0;
  22.                         tab[i + y][j + x][k] = 0;
  23.                 }
  24.  
  25.     if(lvl<level)
  26.     {
  27.         vector<thread> v;
  28.         v.push_back(thread(triangle, lvl + 1, x + size / 2, y));
  29.         v.push_back(thread(triangle, lvl + 1, x, y));
  30.         v.push_back(thread(triangle, lvl + 1, x + size / 2, y + size / 2));
  31.  
  32.  
  33.      for (int i = 0; i < v.size(); i++)
  34.             v[i].join();
  35.         }
  36. }
  37.  
  38. int main() {
  39.          for(int i=0;i<N;i++)
  40.         for (int j=0;j<N;j++)
  41.                 for (int k=0;k<3;k++)
  42.                                 tab[j][i][k] = 255;
  43.     triangle(0, 0, 0);
  44.     FILE *fp = fopen("39247_lab3.ppm", "wb");
  45.     fprintf(fp, "P6n %sn %dn %dn %dn", " #", N, N, 255);
  46.     for (int i = 0; i < N; i++)
  47.         for (int j = 0; j < N; j++)
  48.             fwrite(tab[i][j], 1, 3, fp);
  49.     fclose(fp);
  50.     return 0;
  51. }

Replies to Untitled rss

Title Name Language When
Re: Untitled Sludgy Marmoset text 3 Years ago.