frage zum 2 dimensionalen array
-
also erstmal:
ich habe ein 2-d array.. insgesammt sind es 9 felder.. jedes dieser felder hat als wert eine 1 oder eine 0..jetzt soll eine benutzereingabe erfolgen.. bei der eingabe "x" sollen beispielsweise 3 dieser 9 felder den entgegengesetzten wert annehmen..
frage:
muss ich für jedes feld extra eine abfrage machen:if (feld[0][0]==1) feld[0][0]=0; else feld[0][0]=1;
oder geht das auch einfacher?
-
Du kannst statt int bool verwenden. Dann kannst du sagen:
feld[x][y] = !feld[x][y];
Amsonsten ist mir nicht klar, welche der 9 Felder da jeweils geändert werden. Wenn das ein bestimmtes Muster hat, kann man das sicher elegant mit einer Schleife lösen.
Nachtrag:
wenn es int sein muss, dann kannst du den neuen Wert auch nach folgender Formel berechnen:
#include <cmath> feld[x][y] = abs(feld[x][y] - 1);
Is halt nicht gerade optimized.
Oder du packst dein if - else in eine Funktion. Ach, da gibt's tausend Möglichkeiten. Aber wenn wirklich nur diese beiden Werte angenommen werden, dann würde ich bool verwenden.