Kleine Hilfen zu den Projekten Datenfeld aus Strings

Zweidimensionale Datenfelder

Bisher haben wir nur eindimensionale Datenfelder betrachtet. Zum Anlegen eines zweidimensionalen Datenfeldes braucht man nur ein zweites Paar an eckigen Klammern hinzuzufügen.

Hier folgt ein kleines Demoprogramm, in welchem ein zweidimensionales Datenfeld für Ganzzahlen angelegt, mit Werten gefüllt und schließlich ausgegeben wird. Eine solche zweidimensionale Anordnung wird auch eine Matrix genannt, weshalb ich dieses als Namen für das Datenfeld verwende.

Wenn auf alle Elemente eines solchen Datenfeldes zugegriffen werden soll, sind zwei verschachtelte Schleifen zweckmäßig. In der äußeren Schleife wird der Zeilenindex, in der inneren Schleife der Spaltenindex hochgezählt.

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
 const int Zeilen=4, Spalten=5;
 int Matrix[Zeilen][Spalten], Zeile, Spalte;
 for (Zeile=0;Zeile<Zeilen;++Zeile)
  for (Spalte=0;Spalte<Spalten;++Spalte)
   Matrix[Zeile][Spalte] = 10*(Zeile+1) + Spalte+1;

 for (Zeile=0;Zeile<Zeilen;++Zeile)
 {
  for (Spalte=0;Spalte<Spalten;++Spalte)
   cout << setw(8) << Matrix[Zeile][Spalte];
  cout << endl;
 }
 system("pause");
 return 0;
}

Prinzipiell kann man ein solches zweidimensionales Datenfeld auch eindimensional erstellen. Dann muss man aber für den Zugriff aus Zeilenindex und Spaltenindex einen resultierenden Index berechnen lassen.

Etwa so: Index = Zeile*Spalten + Spalte