Ein 2D Array in C++ dient der ta­bel­len­ähn­li­chen Or­ga­ni­sa­ti­on von Daten. In ma­the­ma­ti­schen Bereichen, ins­be­son­de­re in der linearen Algebra, bieten 2D Arrays eine optimale Struktur für die Dar­stel­lung von Matrizen.

Was genau ist ein 2D Array in C++?

Ein 2D Array in C++ ist eine Da­ten­struk­tur, um Elemente in einer zwei­di­men­sio­na­len, ta­bel­len­ar­ti­gen Anordnung zu speichern. Im Gegensatz zu ein­di­men­sio­na­len Arrays, die nur eine Reihe von Elementen enthalten, or­ga­ni­siert ein 2D Array Daten in Zeilen und Spalten. Die Elemente in einem zwei­di­men­sio­na­len Array sind durch ihre Po­si­tio­nen definiert, die durch Zeilen- und Spal­ten­in­di­zes angegeben werden. Diese Struktur er­leich­tert den Zugriff auf einzelne Da­ten­punk­te sowie deren Ma­ni­pu­la­ti­on. 2D Arrays finden viel­fäl­ti­ge An­wen­dun­gen, von ma­the­ma­ti­schen Be­rech­nun­gen mit Matrizen bis zur Ver­wal­tung von Daten in Ras­ter­form.

So ist ein 2D Array in C++ aufgebaut

In C++ besteht die Syntax für die De­kla­ra­ti­on eines 2D Arrays aus folgenden Elementen:

data_type arrayName[num_rows][num_cols];
c++
  • data_type: Der Datentyp gibt an, welche Art von Daten in den Zellen des 2D Arrays ge­spei­chert werden sollen. Das kann zum Beispiel int für ganze Zahlen, double für Gleit­kom­ma­zah­len oder auch be­nut­zer­de­fi­nier­te Da­ten­ty­pen sein.
  • arrayName: Der Name fungiert als Be­zeich­ner, über den Sie auf das gesamte Array zugreifen können.
  • num_rows: Dieser Teil der Syntax gibt an, wie viele Zeilen das 2D Array haben soll.
  • num_cols: Hier legen Sie die Anzahl der Spalten für jede Zeile im 2D Array fest.

Im unteren Beispiel de­fi­nie­ren wir ein 2D Array namens matrix mit 3 Zeilen und 4 Spalten, was insgesamt 12 Elementen ent­spricht.

int matrix[3][4] = {{1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}};
c++

Das 2D Array in C++ ausgeben

Wir können ein 2D Array mithilfe einer for-Schleife ausgeben. Die äußere Schleife iteriert über die Zeilen, während die innere Schleife über die Spalten jeder Zeile geht. Die Anweisung std::cout << matrix[i][j] << " "; zeigt jedes Element an. Nach jeder Zeile erzeugen wir eine neue Zeile durch std::cout << std::endl;, um die Ausgabe besser zu for­ma­tie­ren.

#include <iostream>
int main() {
    int matrix[3][4] = {{1, 2, 3, 4},
                        {5, 6, 7, 8},
                        {9, 10, 11, 12}};
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 4; ++j) {
            std::cout << matrix[i][j] << " ";
        }
 
        std::cout << std::endl;
    }
    return 0;
}
c++

In der Ausgabe werden die Elemente des 2D Arrays zei­len­wei­se dar­ge­stellt:

1 2 3 4
5 6 7 8
9 10 11 12
c++

An­wen­dungs­bei­spie­le für C++ Two-Di­men­sio­nal Arrays

Wenn Sie die Pro­gram­mier­spra­che C++ lernen, werden Sie früher oder später mit Arrays arbeiten. Im Folgenden zeigen wir Ihnen typische Ein­satz­mög­lich­kei­ten für 2D Arrays in C++.

2D Array in C++ als User Input

Hier ist ein einfaches Beispiel in C++, bei dem wir ein 2D Array nicht mit fest­ge­leg­ten Werten de­fi­nie­ren, sondern als Be­nut­zer­ein­ga­be ver­ar­bei­ten. In diesem Fall fordern wir die Be­nut­ze­rin oder den Benutzer auf, die Anzahl der Zeilen und Spalten ein­zu­ge­ben, gefolgt von den ei­gent­li­chen Elementen des Arrays:

#include <iostream>
int main() {
    int numRows, numCols;
    std::cout << "Number of rows: ";
    std::cin >> numRows;
    std::cout << "Number of columns: ";
    std::cin >> numCols;
    int userArray[numRows][numCols];
    std::cout << "Please enter in elements:\n";
    for (int i = 0; i < numRows; ++i) {
        for (int j = 0; j < numCols; ++j) {
            std::cout << "Element [" << i << "][" << j << "]: ";
            std::cin >> userArray[i][j];
        }
    }
    std::cout << "2D array:\n";
    for (int i = 0; i < numRows; ++i) {
        for (int j = 0; j < numCols; ++j) {
            std::cout << userArray[i][j] << " ";
        }
        std::cout << std::endl;
    }
    return 0;
}
c++

Werden 2 Zeilen und 3 Spalten und die Werte 1, 2, 3, 4, 5, 6 als Be­nut­zer­ein­ga­be übergeben, dann lautet das 2D Array:

2D array:
1 2 3
4 5 6
c++

Matrix-Addition mit 2D Arrays

Durch C-Ope­ra­to­ren wie + können wir Matrizen mit 2D Arrays in C++ einfach addieren.

#include <iostream>
const int numRows = 2; 
const int numCols = 2; 
void matrixAddition(int A[][numCols], int B[][numCols], int result[][numCols]) {
    for (int i = 0; i < numRows; ++i) {
        for (int j = 0; j < numCols; ++j) {
            result[i][j] = A[i][j] + B[i][j];
        }
    }
}
void displayMatrix(int matrix[][numCols]) {
    for (int i = 0; i < numRows; ++i) {
        for (int j = 0; j < numCols; ++j) {
            std::cout << matrix[i][j] << " ";
        }
        std::cout << std::endl;
    }
}
int main() {
    int matrixA[numRows][numCols] = {{1, 2}, {3, 4}};
    int matrixB[numRows][numCols] = {{5, 6}, {7, 8}};
    int resultMatrix[numRows][numCols];
    matrixAddition(matrixA, matrixB, resultMatrix);
    // Output of matrix A and B and their sum
    std::cout << "Matrix A:\n";
    displayMatrix(matrixA);
    std::cout << "\nMatrix B:\n";
    displayMatrix(matrixB);
    std::cout << "\nSum (A + B):\n";
    displayMatrix(resultMatrix);
    return 0;
}
c++

Zuerst erstellen wir die 2x2-Matrizen A und B, und ihre Summe wird in der re­sul­tie­ren­den Matrix berechnet und angezeigt. Die matrixAddition-Funktion nimmt die beiden Aus­gangs­ma­tri­zen und die re­sul­tie­ren­de Matrix als Argumente an und führt die Addition durch. Die displayMatrix-Funktion gibt die Summe der Matrizen auf der Konsole aus.

Wir erhalten als Output:

Matrix A:
1 2
3 4
Matrix B:
5 6
7 8
Sum (A + B):
6 8
10 12
c++
Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive
Zum Hauptmenü