Фон: Я довольно новичок в программировании. Это то, что я до сих пор в моем черновике для игры жизни:.Проблема с программой игры для начинающих C++
#include <iostream>
using namespace std;
int main()
{
//INTRODUCTION
int arraySize;
cout << "What is the length of your square-shaped grid? Enter an integer value greater than 0. Too big will cause problems.";
cin >> arraySize;
int original[arraySize][arraySize];
//REQUESTS INPUT FOR ARRAY
for (int n = 0; n < arraySize; n++)
{
for (int x = 0; x < arraySize; x++)
{
bool ValInput;
cout << "\n" << n << "," << x << "...";
cin >> ValInput;
original[n][x] = ValInput;
}
}
cout << "\n\n\n";
//DISPLAYS ARRAY
for (int row = 0; row < arraySize; row++)
{
for (int column = 0; column < arraySize; column++)
{
cout << original[row][column] << " ";
if (column == arraySize - 1)
{
cout << "\n";
}
}
}
cout << "Next frame.\n\n";
//FORMS NEXT FRAME WITH VALUES OF # OF LIVE NEIGHBORS
int liveNeighbors = 0;
for (int z = 0; z < arraySize; z++)
{
for (int h = 0; h < arraySize; h++)
{
liveNeighbors = 0;
if (z - 1 > -1)
liveNeighbors += original[z - 1][h];
if (z + 1 < arraySize)
liveNeighbors += original[z + 1][h];
if (h - 1 > -1)
liveNeighbors += original[z][h - 1];
if (h + 1 < arraySize)
liveNeighbors += original[z][h + 1];
if (z - 1 > -1, h - 1 > -1)
liveNeighbors += original[z - 1][h -1];
if (z - 1 > -1, h + 1 < arraySize)
liveNeighbors += original[z - 1][h + 1];
if (z + 1 < arraySize, h - 1 > -1)
liveNeighbors += original[z + 1][h - 1];
if (z + 1 < arraySize, h + 1 < arraySize)
{
liveNeighbors += original[z + 1][h + 1];
}
cout << liveNeighbors << " ";
}
}
}
Проблема появляется в последнем шаге я сделал до сих пор (что показывает, как много живых соседей каждая ячейка имеет
Пример: если входной сигнал образца сначала «4» для сетки 4x4, а затем вы вводите несколько значений 1 и 0, значение liveNeighbors не реалистично. Оно может быть в сотнях, когда максимум должен быть только 8 .
Если вы могли бы помочь мне найти решение моей проблемы, это было бы хорошо. Однако имейте в виду, что я новичок.
Спасибо :)
Пожалуйста, уточните свой вопрос ТОЧНО, какие у вас проблемы. «количество живых nieghbors работает только для данных в середине» только говорит, что работает, а не то, что не делает ». Вы должны опубликовать свой код в своем вопросе (а не ссылку на него) и опубликовать что-то, что является предпочтительным и демонстрирует, какие проблемы у вас есть. Если вы не можете этого сделать. Дайте нам несколько примеров ввода и вывода. – Falmarri