Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- int l, r, f=1;
- int main ()
- {
- int n, m, i;
- printf("podaj rozmiary miasta\n");
- scanf("%d%d",& n, &m);
- bool pom[n][m];
- bool tab[n][m];
- printf("podaj tablice poczatkowej populacji miasta\n");
- printf("1-zywa komorka\n");
- printf("0-martwa komorka\n");
- //printf("%d %d\n",n, m);
- int x, y;
- for(x=0; x<n; x++)
- {
- for(y=0; y<m; y++)
- {
- scanf("%d",&tab[x][y]);
- if(tab[x][y]!=0 && tab[x][y]!=1)
- {
- printf("liczba nie nalezy do zbioru {0, 1}\n");
- return 0;
- }
- }
- }
- printf("\n");
- while(f!=0)
- {
- for(x=0; x<n; x++)
- {
- for(y=0; y<m; y++)
- {
- l=0;
- if(x!=0 && tab[x-1][y]==1)
- {
- l++;
- }
- if(x!=n-1 && tab[x+1][y]==1)
- {
- l++;
- }
- if(x!=0 && y!=0 && tab[x-1][y-1]==1)
- {
- l++;
- }
- if(x!=0 && y!=m-1 && tab[x-1][y+1]==1)
- {
- l++;
- }
- if(y!=0 && tab[x][y-1]==1)
- {
- l++;
- }
- if(y!=0 && x!=n-1 && tab[x+1][y-1]==1)
- {
- l++;
- }
- if(y!=m-1 && tab[x][y+1]==1)
- {
- l++;
- }
- if(x!=n-1 && y!=m-1 && tab[x+1][y+1]==1)
- {
- l++;
- }
- if(tab[x][y]==0)
- {
- if(l==3)
- {
- pom[x][y]=1;
- //komorka sie odradza
- }
- else
- {
- pom[x][y]=0;
- }
- }
- else if(tab[x][y]==1)
- {
- if(l>3)
- {
- pom[x][y]=0;
- //komorka umiera z przeludnienia
- }
- else if(l<2)
- {
- pom[x][y]=0;
- //komorka umiera z samotnosci
- }
- else
- {
- //komorka przeżywa
- pom[x][y]=1;
- }
- }
- }
- }
- f=0;
- for(x=0; x<n; x++)
- {
- for(y=0; y<m; y++)
- {
- printf("%d ",(pom[x][y]));
- if(pom[x][y]!=tab[x][y])
- {
- f++;
- }
- tab[x][y]=pom[x][y];
- }
- printf("\n");
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement