Advertisement
Diamyx

life

Sep 14th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.18 KB | None | 0 0
  1. //game of life un pas
  2.  
  3. #include <iostream>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. int m[100][100],a[100][100];
  9.  
  10. void afisareMatrice(int x[][100], int n)
  11. {
  12.     int i,j;
  13.     for(i=1; i<=n; i++)
  14.     {
  15.         for(j=1; j<=n; j++) cout<<x[i][j]<<' ';
  16.         cout<<endl;
  17.     }
  18. }
  19.  
  20. int veciniCelula(int i, int j)
  21. {
  22.     return m[i-1][j-1]+m[i-1][j]+m[i-1][j+1]+m[i][j-1]+m[i][j+1]+m[i+1][j-1]+m[i+1][j]+m[i+1][j+1];
  23. }
  24.  
  25. int pas(int m[][100], int a[][100],int n)
  26. {
  27.     int i,j,vecini;
  28.     for(i=1; i<=n; i++)
  29.         for(j=1; j<=n; j++)
  30.         {
  31.             vecini=veciniCelula(i,j);
  32.             if(m[i][j]==1 && vecini<=1) a[i][j]=0;
  33.             else if((m[i][j]==1 && vecini==2) || (m[i][j]==1 && vecini==3)) a[i][j]=1;
  34.             else if(m[i][j]==1 && vecini>=3) a[i][j]=0;
  35.             else if(m[i][j]==0 && vecini==3) a[i][j]=1;
  36.         }
  37.     for(i=1; i<=n; i++)
  38.         for(j=1; j<=n; j++) m[i][j]=a[i][j];
  39.     cout<<endl;
  40.     afisareMatrice(m,n);
  41. }
  42.  
  43. int main()
  44. {
  45.     int i,j;
  46.     ifstream f("game.in");
  47.     int n; f>>n;
  48.     for(i=1; i<=n; i++)
  49.         for(j=1; j<=n; j++) f>>m[i][j];
  50.     afisareMatrice(m,n);
  51.     pas(m,a,n);
  52.     f.close();
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement