Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.86 KB | None | 0 0
  1. #include<stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. int countNeighbours(int board[9][9][2])
  5. {
  6.   int i, j;
  7.   for(i=0;i<9;i++)
  8.   {
  9.     for(j=0;j<9;j++)
  10.     {
  11.       if(i>0)
  12.       {
  13.         if(board[i-1][j][0]==1) board[i][j][1]=board[i][j][1]+1;
  14.       }
  15.       if(i>0 && j>0)
  16.       {
  17.         if(board[i-1][j-1][0]==1) board[i][j][1]=board[i][j][1]+1;
  18.       }
  19.       if(i>0 && j<9)
  20.       {
  21.         if(board[i-1][j+1][0]==1) board[i][j][1]=board[i][j][1]+1;
  22.       }
  23.       if(i<9)
  24.       {
  25.         if(board[i+1][j][0]==1) board[i][j][1]=board[i][j][1]+1;
  26.       }
  27.       if(i<9 && j>0)
  28.       {
  29.         if(board[i+1][j-1][0]==1) board[i][j][1]=board[i][j][1]+1;
  30.       }
  31.       if(i<9 && j<9)
  32.       {
  33.         if(board[i+1][j+1][0]==1) board[i][j][1]=board[i][j][1]+1;
  34.       }
  35.       if(j>0)
  36.       {
  37.         if(board[i][j-1][0]==1) board[i][j][1]=board[i][j][1]+1;
  38.       }
  39.       if(j<9)
  40.       {
  41.         if(board[i][j+1][0]==1) board[i][j][1]=board[i][j][1]+1;
  42.       }
  43.     }
  44.   }
  45.   return 0;
  46. }
  47.  
  48. int nextGen(int board[9][9][2])
  49. {
  50.   int i, j;
  51.   for(i=0; i<9; i++)
  52.    {
  53.       for(j=0;j<9;j++)
  54.       {
  55.          if(board[i][j][0]==0)
  56.          {
  57.            if(board[i][j][1]==3
  58.            || board[i][j][1]==6
  59.            || board[i][j][1]==7
  60.            || board[i][j][1]==8) board[i][j][0]=1;
  61.          }
  62.          if(board[i][j][0]==1)
  63.          {
  64.            if(board[i][j][1]==1
  65.            || board[i][j][1]==2
  66.            || board[i][j][1]==5
  67.            || board[i][j][1]==9) board[i][j][0]=0;
  68.          }
  69.       }
  70.    }
  71.    printf("here");
  72.    return 0;
  73. }
  74.  
  75. int main()
  76. {
  77.    /* 2D array declaration*/
  78.    int rc, i, j,k, random, gen, num; //number of both rows and columns
  79.    rc=9;
  80.    gen=0;
  81.    int board[9][9][2];
  82.    srand(time(0));
  83.  
  84.    for(i=0; i<rc; i++)
  85.    {
  86.       for(j=0;j<rc;j++)
  87.       {
  88.          random=rand()%2;
  89.          board[i][j][0]=random;
  90.          board[i][j][1]=0;
  91.       }
  92.    }
  93.    printf("Generation %d:\n",gen);
  94.    for(i=0; i<rc; i++)
  95.    {
  96.       for(j=0;j<rc;j++)
  97.       {
  98.          printf("%d ", board[i][j][0]);
  99.       }
  100.       printf("\n");
  101.    }
  102.    printf("\n");
  103.    int a=countNeighbours(board);
  104.  
  105.    for(i=0; i<rc; i++)
  106.    {
  107.       for(j=0;j<rc;j++)
  108.       {
  109.          printf("%d ", board[i][j][1]);
  110.       }
  111.       printf("\n");
  112.    }
  113.    gen=gen+1;
  114.    printf("How many more generations do you want to see?\n");
  115.    scanf("%d",  &num);
  116.    
  117.    for(k=0;k<num;k++)
  118.    {
  119.     a = nextGen(board);
  120.     printf("Generation %d:\n",gen);
  121.     for(i=0; i<rc; i++)
  122.     {
  123.         for(j=0;j<rc;j++)
  124.         {
  125.           printf("%d ", board[i][j][0]);
  126.         }
  127.         printf("\n");
  128.     }
  129.     printf("\n");
  130.     for(i=0; i<rc; i++)
  131.     {
  132.         for(j=0;j<rc;j++)
  133.         {
  134.           printf("%d ", board[i][j][i]);
  135.         }
  136.         printf("\n");
  137.     }
  138.     gen=gen+1;
  139.     printf("\n");
  140.    }
  141.    return 0;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement