SHARE
TWEET

Wdi

a guest Jan 20th, 2020 93 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  #include <stdio.h>
  2.  #include <stdlib.h>
  3. #include <stdbool.h>
  4. int l, r, f=1;
  5.  int main ()
  6.  {
  7.      int n, m, i;
  8.     printf("podaj rozmiary miasta\n");
  9.     scanf("%d%d",& n, &m);
  10.     bool pom[n][m];
  11.     bool tab[n][m];
  12.     printf("podaj tablice poczatkowej populacji miasta\n");
  13.     printf("1-zywa komorka\n");
  14.     printf("0-martwa komorka\n");
  15.     //printf("%d %d\n",n, m);
  16.     int x, y;
  17.     for(x=0; x<n; x++)
  18.     {
  19.         for(y=0; y<m; y++)
  20.         {
  21.  
  22.             scanf("%d",&tab[x][y]);
  23.             if(tab[x][y]!=0 && tab[x][y]!=1)
  24.                 {
  25.                     printf("liczba nie nalezy do zbioru {0, 1}\n");
  26.                     return 0;
  27.                 }
  28.         }
  29.     }
  30.     printf("\n");
  31.     while(f!=0)
  32.     {
  33.         for(x=0; x<n; x++)
  34.         {
  35.             for(y=0; y<m; y++)
  36.             {
  37.                 l=0;
  38.                     if(x!=0 && tab[x-1][y]==1)
  39.                     {
  40.                         l++;
  41.                     }
  42.                     if(x!=n-1 && tab[x+1][y]==1)
  43.                     {
  44.                         l++;
  45.                     }
  46.                     if(x!=0 && y!=0 && tab[x-1][y-1]==1)
  47.                     {
  48.                         l++;
  49.                     }
  50.                     if(x!=0 && y!=m-1 && tab[x-1][y+1]==1)
  51.                     {
  52.                         l++;
  53.                     }
  54.                     if(y!=0 && tab[x][y-1]==1)
  55.                     {
  56.                         l++;
  57.                     }
  58.                     if(y!=0 && x!=n-1 && tab[x+1][y-1]==1)
  59.                     {
  60.                         l++;
  61.                     }
  62.                     if(y!=m-1 && tab[x][y+1]==1)
  63.                     {
  64.                         l++;
  65.                     }
  66.                     if(x!=n-1 && y!=m-1 && tab[x+1][y+1]==1)
  67.                     {
  68.                         l++;
  69.                     }
  70.                     if(tab[x][y]==0)
  71.                     {
  72.                         if(l==3)
  73.                         {
  74.                             pom[x][y]=1;
  75.                             //komorka sie odradza
  76.                         }
  77.                         else
  78.                         {
  79.                             pom[x][y]=0;
  80.                         }
  81.                     }
  82.                     else if(tab[x][y]==1)
  83.                     {
  84.                         if(l>3)
  85.                         {
  86.  
  87.                             pom[x][y]=0;
  88.                             //komorka umiera z przeludnienia
  89.                         }
  90.                         else if(l<2)
  91.                         {
  92.                             pom[x][y]=0;
  93.                             //komorka umiera z samotnosci
  94.                         }
  95.                         else
  96.                         {
  97.                             //komorka przeżywa
  98.                             pom[x][y]=1;
  99.                         }
  100.                     }
  101.                 }
  102.             }
  103.             f=0;
  104.             for(x=0; x<n; x++)
  105.             {
  106.                 for(y=0; y<m; y++)
  107.                 {
  108.                     printf("%d ",(pom[x][y]));
  109.                     if(pom[x][y]!=tab[x][y])
  110.                     {
  111.                         f++;
  112.                     }
  113.                     tab[x][y]=pom[x][y];
  114.                 }
  115.                 printf("\n");
  116.             }
  117.             printf("\n");
  118.         }
  119.    return 0;
  120.  }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top