In diesem Tutorial lernen wir mehrdimensionale Arrays in C ++ kennen. Genauer gesagt, wie man sie deklariert, auf sie zugreift und sie in unserem Programm effizient nutzt.
In C ++ können wir ein Array eines Arrays erstellen, das als mehrdimensionales Array bezeichnet wird. Beispielsweise:
int x(3)(4);
Hier ist x ein zweidimensionales Array. Es kann maximal 12 Elemente aufnehmen.
Wir können uns dieses Array als eine Tabelle mit 3 Zeilen vorstellen und jede Zeile hat 4 Spalten, wie unten gezeigt.

In ähnlicher Weise funktionieren auch dreidimensionale Arrays. Beispielsweise:
float x(2)(4)(3);
Dieses Array x kann maximal 24 Elemente enthalten.
Wir können die Gesamtzahl der Elemente im Array einfach durch Multiplikation seiner Dimensionen ermitteln:
2 x 4 x 3 = 24
Mehrdimensionale Array-Initialisierung
Wie bei einem normalen Array können wir ein mehrdimensionales Array auf mehrere Arten initialisieren.
1. Initialisierung eines zweidimensionalen Arrays
int test(2)(3) = (2, 4, 5, 9, 0, 19);
Das obige Verfahren ist nicht bevorzugt. Eine bessere Möglichkeit, dieses Array mit denselben Array-Elementen zu initialisieren, ist unten angegeben:
int test(2)(3) = ( (2, 4, 5), (9, 0, 19));
Dieses Array hat 2 Zeilen und 3 Spalten, weshalb wir zwei Elementreihen mit jeweils 3 Elementen haben.

2. Initialisierung eines dreidimensionalen Arrays
int test(2)(3)(4) = (3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2, 13, 4, 56, 3, 5, 9, 3, 5, 5, 1, 4, 9);
Dies ist keine gute Möglichkeit, ein dreidimensionales Array zu initialisieren. Ein besserer Weg, um dieses Array zu initialisieren, ist:
int test(2)(3)(4) = ( ( (3, 4, 2, 3), (0, -3, 9, 11), (23, 12, 23, 2) ), ( (13, 4, 56, 3), (5, 9, 3, 5), (5, 1, 4, 9) ) );
Beachten Sie die Abmessungen dieses dreidimensionalen Arrays.
Die erste Dimension hat den Wert 2
. Die zwei Elemente, aus denen sich die erste Dimension zusammensetzt, sind:
Element 1 = ((3, 4, 2, 3), (0, -3, 9, 11), (23, 12, 23, 2)) Element 2 = ((13, 4, 56, 3), ( 5, 9, 3, 5), (5, 1, 4, 9))
Die zweite Dimension hat den Wert 3
. Beachten Sie, dass jedes der Elemente der ersten Dimension jeweils drei Elemente enthält:
(3, 4, 2, 3), (0, -3, 9, 11) und (23, 12, 23, 2) für Element 1. (13, 4, 56, 3), (5, 9, 3 , 5) und (5, 1, 4, 9) für Element 2.
Schließlich gibt es int
in jedem der Elemente der zweiten Dimension vier Zahlen:
(3, 4, 2, 3) (0, -3, 9, 11) ……
Beispiel 1: Zweidimensionales Array
// C++ Program to display all elements // of an initialised two dimensional array #include using namespace std; int main() ( int test(3)(2) = ((2, -5), (4, 0), (9, 1)); // use of nested for loop // access rows of the array for (int i = 0; i < 3; ++i) ( // access columns of the array for (int j = 0; j < 2; ++j) ( cout << "test(" << i << ")(" << j << ") = " << test(i)(j) << endl; ) ) return 0; )
Ausgabe
Test (0) (0) = 2 Test (0) (1) = -5 Test (1) (0) = 4 Test (1) (1) = 0 Test (2) (0) = 9 Test (2) (1) = 1
Im obigen Beispiel haben wir ein zweidimensionales int
Array mit dem Namen test initialisiert , das 3 "Zeilen" und 2 "Spalten" enthält.
Hier haben wir die verschachtelte for
Schleife verwendet, um die Array-Elemente anzuzeigen.
- die äußere Schleife von,
i == 0
umi == 2
auf die Zeilen des Arrays zuzugreifen - die innere Schleife von,
j == 0
umj == 1
auf die Spalten des Arrays zuzugreifen
Schließlich drucken wir die Array-Elemente in jeder Iteration.
Beispiel 2: Eingabe für zweidimensionales Array
#include using namespace std; int main() ( int numbers(2)(3); cout << "Enter 6 numbers: " << endl; // Storing user input in the array for (int i = 0; i < 2; ++i) ( for (int j = 0; j > numbers(i)(j); ) ) cout << "The numbers are: " << endl; // Printing array elements for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 3; ++j) ( cout << "numbers(" << i << ")(" << j << "): " << numbers(i)(j) << endl; ) ) return 0; )
Ausgabe
Geben Sie 6 Zahlen ein: 1 2 3 4 5 6 Die Zahlen sind: Zahlen (0) (0): 1 Zahlen (0) (1): 2 Zahlen (0) (2): 3 Zahlen (1) (0): 4 Zahlen (1) (1): 5 Zahlen (1) (2): 6
Hier haben wir eine verschachtelte for
Schleife verwendet, um die Eingabe des 2d-Arrays zu übernehmen. Nachdem alle Eingaben vorgenommen wurden, haben wir eine weitere verschachtelte for
Schleife verwendet, um die Array-Mitglieder zu drucken.
Beispiel 3: Dreidimensionales Array
// C++ Program to Store value entered by user in // three dimensional array and display it. #include using namespace std; int main() ( // This array can store upto 12 elements (2x3x2) int test(2)(3)(2) = ( ( (1, 2), (3, 4), (5, 6) ), ( (7, 8), (9, 10), (11, 12) ) ); // Displaying the values with proper index. for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 3; ++j) ( for (int k = 0; k < 2; ++k) ( cout << "test(" << i << ")(" << j << ")(" << k << ") = " << test(i)(j)(k) << endl; ) ) ) return 0; )
Ausgabe
Test (0) (0) (0) = 1 Test (0) (0) (1) = 2 Test (0) (1) (0) = 3 Test (0) (1) (1) = 4 Test ( 0) (2) (0) = 5 Test (0) (2) (1) = 6 Test (1) (0) (0) = 7 Test (1) (0) (1) = 8 Test (1) (1) (0) = 9 Test (1) (1) (1) = 10 Test (1) (2) (0) = 11 Test (1) (2) (1) = 12
Das Grundkonzept zum Drucken von Elementen eines 3D-Arrays ähnelt dem eines 2D-Arrays.
Da wir jedoch 3 Dimensionen bearbeiten, verwenden wir eine verschachtelte for-Schleife mit 3 Gesamtschleifen anstelle von nur 2:
- Die äußere Schleife von
i == 0
bisi == 1
greift auf die erste Dimension des Arrays zu - Die mittlere Schleife von
j == 0
bisj == 2
greift auf die zweite Dimension des Arrays zu - Die innerste Schleife von
k == 0
bisk == 1
greift auf die dritte Dimension des Arrays zu
Wie wir sehen können, nimmt die Komplexität des Arrays mit zunehmenden Dimensionen exponentiell zu.