Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- using namespace std;
- int zlicz (int ***tabl, int x,int y,int z);
- void umrzyj (int ***tabl, int x, int y, int z);
- int main(int argc, char** argv)
- {
- srand (time(NULL));
- int const x=100, y=100, z=100;
- int los;
- int*** tabl= new int**[x];
- for(int i=0;i<x;++i)
- {
- tabl[i] = new int*[y];
- for(int j=0;j<y;++j)
- {
- tabl[i][j]=new int[z] ;
- }
- }
- for(int i=0;i<x;++i)
- {
- for(int j=0;j<y;++j)
- {
- for (int k=0;k<z;++k)
- {
- los=rand()%2;
- tabl[i][j][k]=los;
- }
- }
- }
- int ile, ile2;
- ile=zlicz(tabl,x,y,z);
- cout<<ile<<" ";
- umrzyj(tabl,x,y,z);
- ile2=zlicz(tabl,x,y,z);
- cout<<ile2;
- for(int i=0;i<x;++i)
- {
- for(int j=0;j<y;++j)
- {
- for (int k=0;k<z;++k)
- {
- delete [] tabl[i][j][k];
- }
- }
- }
- for(int i=0;i<x;++i)
- {
- for(int j=0;j<y;++j)
- {
- delete [] tabl[i][j];
- }
- }
- for(int i=0;i<x;++i)
- {
- delete [] tabl[i];
- }
- return 0;
- }
- int zlicz (int ***tabl,int x,int y,int z)
- {
- int licz;
- for(int i=0;i<x;++i)
- {
- for(int j=0;j<y;++j)
- {
- for (int k=0;k<z;++k)
- {
- licz=licz+tabl[i][j][k];
- }
- }
- }
- return licz;
- }
- void umrzyj (int ***tabl, int x, int y, int z)
- {
- for(int i=0;i<x;++i)
- {
- for(int j=0;j<y;++j)
- {
- for (int k=0;k<z;++k)
- {
- bool sasiad_x_mniejszy = i == 0 || tabl[i-1][j][k] == 0;
- bool sasiad_x_wiekszy = i == x-1 || tabl[i+1][j][k] == 0;
- bool sasiad_y_mniejszy = j == 0 || tabl[i][j-1][k] == 0;
- bool sasiad_y_wiekszy = j == y-1 || tabl[i][j+1][k] == 0;
- bool sasiad_z_mniejszy = k == 0 || tabl[i][j][k-1] == 0;
- bool sasiad_z_wiekszy = k == z-1 || tabl[i][j][k+1] == 0;
- if( sasiad_x_mniejszy && sasiad_x_wiekszy &&
- sasiad_y_mniejszy && sasiad_y_wiekszy &&
- sasiad_z_mniejszy && sasiad_z_wiekszy)
- {
- tabl[i][j][k] = 0;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment