Я сделал весь код правильно и застрял в этой глупой вещи: я не могу остановить печать, когда предыдущее поколение такое же, как новое ... поэтому, когда шаблон печати как и предыдущий шаблон, он должен остановиться.создание новой переменной и создание вложенного цикла
Мне нужно скопировать плату перед вызовом «шаг», а затем сравнить новые и скопированные доски и только распечатать, если она изменилась. Мне нужно создать новую переменную, как я сделал плату [], затем сделайте вложенную петлю, как в печатном виде, а внутри сделайте новую панель [y] [x] = панель [y] [x]
Пожалуйста, помогите мне с этим, я не могу остановить печать, которую она всегда печатает. пожалуйста, покажите мне ваш синтаксис
void step(int board[][WIDTH], int rows) {
int x, y;
int neighbors[HEIGHT][WIDTH];
for (y = 0; y < rows; y++)
for (x = 0; x < WIDTH; x++)
neighbors[y][x] = count_neighbors(board, rows, y, x);
for (y = 0; y < rows; y++)
for (x = 0; x < WIDTH; x++)
if (board[y][x] == 1) { /* Currently alive */
if (neighbors[y][x] < 2)
board[y][x] = 0; /* Death by boredom */
else if (neighbors[y][x] > 3)
board[y][x] = 0; /* Death by overcrowding */
}
else { /* Currently empty */
if (neighbors[y][x] == 3)
board[y][x] = 1;
}
}
Возможно, сделайте 'step' искать что-то изменяющееся и вернуть логическое значение, которое вы можете использовать в качестве условия в своем цикле. – sje397