Hi,
Again a question from the book(Problem solving and program design in C)
I solved the question.But output not as I want to be.I mean it doesn't work as game of life
Code:
Output is not changingCode:#include <stdio.h> #include <stdlib.h> #define ROWS 25 #define COLS 25 void game_of_life(char arr[][COLS+2]); int checkx(char arr[][COLS+2], int row, int col); int main(void) { char array[ROWS+2][COLS+2],n_array[ROWS+2][COLS+2]; int i, j, r_integer[ROWS+2][COLS+2], num_gen; for(i=0;i<ROWS+2;i++){ for(j=0;j<COLS+2;j++){ r_integer[j][i] = (rand()%2); } } for(i=0;i<ROWS+2;i++){ for(j=0;j<COLS+2;j++){ if(r_integer[j][i] == 0) array[j][i]=' '; else array[j][i]='X'; } } for(i=0;i<ROWS+2;i++){ for(j=0;j<COLS+2;j++){ printf("%c", array[j][i]); } } for(num_gen=0;num_gen<2;num_gen++){ printf("\nGeneration: %d\n", num_gen+1); game_of_life(n_array); for(i=0;i<ROWS+2;i++){ for(j=0;j<COLS+2;j++){ n_array[j][i]=array[j][i]; } } for(i=0;i<ROWS+2;i++){ for(j=0;j<COLS+2;j++){ printf("%c", array[j][i]); } } } return(0); } void game_of_life(char arr[][COLS+2]) { int i, j, num_neighbors=0; for(i=1;i<COLS+2;i++){ for(j=1;j<ROWS+2;j++){ if ((arr[j][i])=='X'){ num_neighbors=checkx(arr, j, i); if (num_neighbors <= 3 || num_neighbors >= 2) arr[j][i]='X'; if (num_neighbors >= 4) arr[j][i]=' '; else arr[j][i]='X'; } else { num_neighbors=checkx(arr, j, i); if(num_neighbors == 3) arr[j][i]='X'; else arr[j][i]=' '; } } } } int checkx(char arr[][COLS+2],int row, int col) { int num_neighbors = 0; if ((arr[row-1][col-1])=='X') num_neighbors++; if ((arr[row-1][col])=='X') num_neighbors++; if ((arr[row-1][col-1])=='X') num_neighbors++; if ((arr[row][col-1])=='X') num_neighbors++; if ((arr[row][col+1])=='X') num_neighbors++; if ((arr[row+1][col-1])=='X') num_neighbors++; if ((arr[row+1][col])=='X') num_neighbors++; if ((arr[row+1][col+1])=='X') num_neighbors++; return(num_neighbors); }
X XXXX XX X XX X XX XXXX XXX X XXXX X X X X X XXX X X XXX X X X X X XX X X XX XXX X X XXX X XXXXXXXXXX XX X XX X XXX X X X X XXXX X X X XXXXX XX XX X XXXXX XX X XXX XXX X X X X XX X XXX X XX X XXX X X X XX XXXX X XXXX XXX X XX X X XX X XX XXXXX XX XX X X X XX X X XXX X XXX X X XXXX XX X X X X XXX X X XX XXXXX X X XX X X XXXX X XX XXX X XX XX XXXXX XXXX XX X XX X XXXXX X XX X X X X X XXXX X X XX XX XX X XXXXX XXX XXXXX X XX X X XXXX XXXXX XXX XXXXX XXXXXX XX XX X XXX XXXX XXX XXX XX XXX X X X X X X XX XXX X X X XXXXXX XX X XX XXX
Generation: 1
X XXXX XX X XX X XX XXXX XXX X XXXX X X X X X XXX X X XXX X X X X X XX X X XX XXX X X XXX X XXXXXXXXXX XX X XX X XXX X X X X XXXX X X X XXXXX XX XX X XXXXX XX X XXX XXX X X X X XX X XXX X XX X XXX X X X XX XXXX X XXXX XXX X XX X X XX X XX XXXXX XX XX X X X XX X X XXX X XXX X X XXXX XX X X X X XXX X X XX XXXXX X X XX X X XXXX X XX XXX X XX XX XXXXX XXXX XX X XX X XXXXX X XX X X X X X XXXX X X XX XX XX X XXXXX XXX XXXXX X XX X X XXXX XXXXX XXX XXXXX XXXXXX XX XX X XXX XXXX XXX XXX XX XXX X X X X X X XX XXX X X X XXXXXX XX X XX XXX
Generation: 2
X XXXX XX X XX X XX XXXX XXX X XXXX X X X X X XXX X X XXX X X X X X XX X X XX XXX X X XXX X XXXXXXXXXX XX X XX X XXX X X X X XXXX X X X XXXXX XX XX X XXXXX XX X XXX XXX X X X X XX X XXX X XX X XXX X X X XX XXXX X XXXX XXX X XX X X XX X XX XXXXX XX XX X X X XX X X XXX X XXX X X XXXX XX X X X X XXX X X XX XXXXX X X XX X X XXXX X XX XXX X XX XX XXXXX XXXX XX X XX X XXXXX X XX X X X X X XXXX X X XX XX XX X XXXXX XXX XXXXX X XX X X XXXX XXXXX XXX XXXXX XXXXXX XX XX X XXX XXXX XXX XXX XX XXX X X X X X X XX XXX X X X XXXXXX XX X XX XXX



2Likes
LinkBack URL
About LinkBacks



