Suche
Suche Menü

Mehrdimensionale Felder

Nachdem wir die zweidimensionalen Felder kennengelernt haben, ist es nicht verwunderlich, dass es noch mehr Dimensionen gibt. Theoretisch sind den Dimensionen keine Grenzen gesetzt, es kann erstellt werden was der Speicher hergibt.

Dreidimensionale Felder

Für das Abbilden eines dreidimensionalen Raums eignen sich logischerweie dreidimensionale Felder. Wir wollen jetzt aber keine Räume abbilden, sondern nur kurz sehen, dass der Umgang damit analog zu zweidimensionalen Feldern ist.

int cube[2][2][2];

Wenn wir uns in einem dreidimensionalen Feld bewegen, können wir uns das Bild eines Würfels vorstellen. Hier sind die Indexierungen der drei Achsen an jeder Ecke dargestellt.

Hier noch ein kurzes Beispiel, wie man alle Elemente mittels Schleifen erreicht. Eine passende grafische Ausgabemöglichkeit dreidimensionaler Bilder am Terminalbildschirm (Shell/Eingabeaufforderung) steht uns leider nicht zur Verfügung.

int cube[2][2][2];

int i, j, k, c=0;

for(i=0; i<2; i++) {
	for(j=0; j<2; j++) {
		for(k=0; k<2; k++) {
			c++;
			cube[i][j][k] = c;
			printf("cube[%d][%d][%d]: %d\n", i, j, k, cube[i][j][k]);
		}
	}
}

cube[0][0][0]: 1
cube[0][0][1]: 2
cube[0][1][0]: 3
cube[0][1][1]: 4
cube[1][0][0]: 5
cube[1][0][1]: 6
cube[1][1][0]: 7
cube[1][1][1]: 8

Vier- und Mehrdimensionale Felder

Das Spiel mit den Dimension kann beliebig weitergeführt werden, sofern es für die Programmierung Sinn macht. Der Umgang mit den Feldern erfolgt analog zu den zwei- und dreidimensionalen Feldern.