Hintergrund: Ich bin ein ziemlich Anfänger bei der Programmierung. Das ist, was ich bisher in meinem groben Entwurf für das Spiel des Lebens haben.Probleme mit Anfänger C++ Spiel des Lebens Programm
#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 << " ";
}
}
}
Das Problem scheint in der letzten Schritt, den ich bisher gemacht haben (was zeigt, wie viele lebende Nachbarn hat jede Zelle
Beispiel: Wenn der Sampling-Eingang zuerst "4" für ein 4x4-Gitter ist und Sie dann eine Vielzahl von 1s und 0s eingeben, ist der liveNeighbors-Wert nicht realistisch.Es kann in den Hunderten sein, wenn das Maximum nur 8 sein sollte .
Wenn Sie mir helfen könnten, eine Lösung für mein Problem zu finden, wäre das nett, aber denken Sie bitte daran, dass ich ein Neuling bin.
Danke
Bitte aktualisieren Sie Ihre Frage mit GENAU, welche Probleme Sie haben. "Die Anzahl der lebenden Nieghbors funktioniert nur für Daten in der Mitte" sagt nur, was funktioniert, nicht was nicht. Sie sollten Ihren Code in Ihrer Frage (kein Link dazu) posten, und etwas, das vorzugsweise komplibar ist, veröffentlichen und genau zeigen, welches Problem Sie haben. Wenn du das nicht kannst. Geben Sie uns einige Beispieleingaben und -ausgaben. – Falmarri