Forum
Tipps
News
Menu-Icon

mehrdimensionale arrays in C++

Hallo,
Ich habe vor kurzem angefangen C++ zu lernen und habe mir ein Buch gekauft (C++ für Spieleprogrammierer). Doch
bei folgendem Code mit der Überschrifft "mehrdimensionale Arrays" komme ich nicht weiter und kapier überhaupt nichts mehr:

// C++ für Spieleprogrammierer
// Listing 5.5
// Mehrdimensionale Arrays
//
#include <iostream>

using namespace std;

// Hauptprogramm
//
int main ()
{
   // Konstanten
   //
   const int Breite = 3; // Breite der Karte
   const int Hoehe = 3;  // Hoehe der Karte

   // Variablen
   //
   int Karte[Breite][Hoehe];  // Zweidimensionales Array für die Karte
   int x, y;                  // Schleifenzähler
   int Zaehler = 0;           // Zum Füllen der Karte

   // Karte mit Werten füllen
   for (y=0; y<Hoehe; y++)
   {
      for (x=0; x<Breite; x++)
      {
         Karte
[y] = Zaehler;
         Zaehler++;
      }
   }

   // Karte ausgeben
   for (y=0; y<Hoehe; y++)
   {
      for (x=0; x<Breite; x++)
      {
         cout << Karte
[y];
      }

      cout << endl;
   }

   return 0;
}

Bildschirmausgabe:

012
345
678

Ich wäre für eine erklärung sehr dankbar


Antworten zu mehrdimensionale arrays in C++:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Was verstehst du genau nicht? Ein mehrdimensionales Array ist halt ein Array in dem statt z.B. int-Werten nochmal Arrays drin sind.


int Karte[3][3];
Legt ein Array aus drei Arrays mit jeweils drei int-Werten an. Dadurch ergibt sich so eine Art Koordinatensystem:
       0      1      2
    -------------------- x
  0| (0,0)  (1,0)  (2,0)
  1| (0,1)  (1,1)  (2,1)
  2| (0,2)  (1,2)  (2,2)
   y
Der Zugriff auf die einzelnen Elemente erfolgt dann anhand dieser "Koordinaten":
Karte[0][0] gibt Zugriff auf das Element an Koordinate (0,0)
Karte[2][0] gibt Zugriff auf das Element an Koordinate (2,0)
usw.

Um diese Arrays automatisch zu füllen oder auszugeben braucht man dann wie in deinem Beispiel zwei ineinander geschachtelte Schleifen, eine für die x- und eine für die y-Richtung.

« Mein Programm stürzt ab...Pascal - Programm zum Umrechnen in die verschiedenen Zahlensysteme - »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
C++
C++ ist eine von der ISO standardisierte Programmiersprache und eine erweiterte Form von C zur objektorientierten, generischen und prozeduralen Programmierung. Weitestgeh...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...