Conway's game of Life is played on a large two-dimensional grid of square cells. Each cell is either alive or dead. The user chooses the initial configuration of the grid (i.e. which cells are alive), but after that, the game just runs itself. At each generation, the following changes take place: Any live cell with < 2 live neighbours dies. Any live cell with 2 or 3 live neighbours stays alive. Any live cell with > 3 live neighbours dies. Any dead cell with exactly three live neighbours comes to life. Here is a small sample intial grid: ......... ......... ......... ....#.... .....#... ...###... ......... ......... ......... This shape, called a glider, reproduces itself after a couple of generations, and floats diagonally cross the grid. You can find many other interesting patterms here: https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life The gri should "wrap around". Meaning that if yo have a 30 x 30 square grid, with cells indexed from [0][0] to [29][29], then row 30 should be equivalent to row 0, row -1 should be equivalent to row 29, and the same for the columns. A glider should survive for ever. Implement this game. You may have the initial configuartion built into you program if you wish, something like this: char grid[9][9] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 1, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; but make your grid bigger than just 9 x 9.