Anfänger Frage zur mehrdiminsionalem Array

BLR

Erfahrenes Mitglied
Hallo,

ich habe gerade angefangen mir c++ anzuschauen.
Dabei habe ich ein 2-deminsionales array.
Und nun möchte ich ihn wie ein Schachbrett fühlen:

1-1
1-2
1-3
1-4
1-5
...
4-1
4-2
4-3
4-4
usw...

dafür habe ich folgendes entworfen:
Code:
 for (int i = 1; i <= 8; i++) {
            
            
            for (int j = 1; j <= 8; j++) {
            
                 char_brett[i][j]=i,j; //In diese Zeile möchte ich jeweils für die erste Demension einen Wert setzen und dann für die           
                                               //zweite Deminsion einen Wert setzen, wie geht das? 
                
                cout << "Spalte:Zeile " << char_brett[i][j]<< "\n";

        }

}


Leider steuert er so die erste und die zweite Demension nicht an...
Zudem bricht er auch noch komischeweise ab...

Wie kann ich also erste bzw. zweite Deminsion explizit einen Wert setzen****
danke
 
Hallo BLR,

der Fehler liegt darin, dass du das Array mit den Indizes 1-8 ansprechen möchtest.
Bei C/C++ fängt man das zählen bei Arrays aber bei 0 an.
Dh. Wenn du ein Array der länge 8 hast, dann iterierst du deine i und j von 0 bis 7.

Grüße,
Jennesta
 
Ein weiterer Fehler wäre, dass du anscheinend komplett falsch vertanden hast,
was ein mehrdimensionale Array ist.
Man kann pro [ i ][ j ]-Element trotzdem nur ein einziges int speichern.
Nicht "i,j"
 
Ein 2-dimensionales Array ist ein Array von Arrays.

Hier eine veranschaulichung mit dem jeweiligen Index:

0123
00/00/10/20/3
11/01/11/21/3
22/02/12/22/3
33/03/13/23/3

(verrutscht leider, aber hier ohne Tabelle)
0 1 2 3
##############
0 # 0/0 | 0/1 | 0/2 | 0/3 |
1 # 1/0 | 1/1 | 1/2 | 1/3 |
2 # 2/0 | 2/1 | 2/2 | 2/3 |
3 # 3/0 | 3/1 | 3/2 | 3/3 |

Das wäre ein Array mit 4 Zeilen und 4 Spalten [0-3][0-3].

Willst du jetzt ganz links oben eine Zahl speichern dann speicherst du Sie auf [0][0].
rechts unten wäre das dann [3][3].

Ob du jetzt dein Array so siehst dass horizontal die Rows sind und vertikal die Cols oder umgekehrt ist deine Sache, nur solltest du bei einer Weise bleiben. ( Ist sowieso nur ein Unterschied beim aufzeichnen bzw vorstellen )

Aber im Internet gibt es viele Lehrseiten dazu.
z.B.: http://www.cplusplus.com/forum/beginner/42045/

mfg,
Doomt
 
Zuletzt bearbeitet:
Zurück