Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int countNeighbours(int board[9][9][2])
- {
- int i, j;
- for(i=0;i<9;i++)
- {
- for(j=0;j<9;j++)
- {
- if(i>0)
- {
- if(board[i-1][j][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- if(i>0 && j>0)
- {
- if(board[i-1][j-1][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- if(i>0 && j<9)
- {
- if(board[i-1][j+1][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- if(i<9)
- {
- if(board[i+1][j][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- if(i<9 && j>0)
- {
- if(board[i+1][j-1][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- if(i<9 && j<9)
- {
- if(board[i+1][j+1][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- if(j>0)
- {
- if(board[i][j-1][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- if(j<9)
- {
- if(board[i][j+1][0]==1) board[i][j][1]=board[i][j][1]+1;
- }
- }
- }
- return 0;
- }
- int nextGen(int board[9][9][2])
- {
- int i, j;
- for(i=0; i<9; i++)
- {
- for(j=0;j<9;j++)
- {
- if(board[i][j][0]==0)
- {
- if(board[i][j][1]==3
- || board[i][j][1]==6
- || board[i][j][1]==7
- || board[i][j][1]==8) board[i][j][0]=1;
- }
- if(board[i][j][0]==1)
- {
- if(board[i][j][1]==1
- || board[i][j][1]==2
- || board[i][j][1]==5
- || board[i][j][1]==9) board[i][j][0]=0;
- }
- }
- }
- printf("here");
- return 0;
- }
- int main()
- {
- /* 2D array declaration*/
- int rc, i, j,k, random, gen, num; //number of both rows and columns
- rc=9;
- gen=0;
- int board[9][9][2];
- srand(time(0));
- for(i=0; i<rc; i++)
- {
- for(j=0;j<rc;j++)
- {
- random=rand()%2;
- board[i][j][0]=random;
- board[i][j][1]=0;
- }
- }
- printf("Generation %d:\n",gen);
- for(i=0; i<rc; i++)
- {
- for(j=0;j<rc;j++)
- {
- printf("%d ", board[i][j][0]);
- }
- printf("\n");
- }
- printf("\n");
- int a=countNeighbours(board);
- for(i=0; i<rc; i++)
- {
- for(j=0;j<rc;j++)
- {
- printf("%d ", board[i][j][1]);
- }
- printf("\n");
- }
- gen=gen+1;
- printf("How many more generations do you want to see?\n");
- scanf("%d", &num);
- for(k=0;k<num;k++)
- {
- a = nextGen(board);
- printf("Generation %d:\n",gen);
- for(i=0; i<rc; i++)
- {
- for(j=0;j<rc;j++)
- {
- printf("%d ", board[i][j][0]);
- }
- printf("\n");
- }
- printf("\n");
- for(i=0; i<rc; i++)
- {
- for(j=0;j<rc;j++)
- {
- printf("%d ", board[i][j][i]);
- }
- printf("\n");
- }
- gen=gen+1;
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement