2D Array in C++ erstellen und einsetzen

Ein 2D Array in C++ dient der tabellenähnlichen Organisation von Daten. In mathematischen Bereichen, insbesondere in der linearen Algebra, bieten 2D Arrays eine optimale Struktur für die Darstellung von Matrizen.

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

Ein 2D Array in C++ ist eine Datenstruktur, um Elemente in einer zweidimensionalen, tabellenartigen Anordnung zu speichern. Im Gegensatz zu eindimensionalen Arrays, die nur eine Reihe von Elementen enthalten, organisiert ein 2D Array Daten in Zeilen und Spalten. Die Elemente in einem zweidimensionalen Array sind durch ihre Positionen definiert, die durch Zeilen- und Spaltenindizes angegeben werden. Diese Struktur erleichtert den Zugriff auf einzelne Datenpunkte sowie deren Manipulation. 2D Arrays finden vielfältige Anwendungen, von mathematischen Berechnungen mit Matrizen bis zur Verwaltung von Daten in Rasterform.

So ist ein 2D Array in C++ aufgebaut

In C++ besteht die Syntax für die Deklaration 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 gespeichert werden sollen. Das kann zum Beispiel int für ganze Zahlen, double für Gleitkommazahlen oder auch benutzerdefinierte Datentypen sein.
  • arrayName: Der Name fungiert als Bezeichner, ü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 definieren wir ein 2D Array namens matrix mit 3 Zeilen und 4 Spalten, was insgesamt 12 Elementen entspricht.

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 formatieren.

#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 zeilenweise dargestellt:

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

Anwendungsbeispiele für C++ Two-Dimensional Arrays

Wenn Sie die Programmiersprache C++ lernen, werden Sie früher oder später mit Arrays arbeiten. Im Folgenden zeigen wir Ihnen typische Einsatzmöglichkeiten 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 festgelegten Werten definieren, sondern als Benutzereingabe verarbeiten. In diesem Fall fordern wir die Benutzerin oder den Benutzer auf, die Anzahl der Zeilen und Spalten einzugeben, gefolgt von den eigentlichen 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 Benutzereingabe übergeben, dann lautet das 2D Array:

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

Matrix-Addition mit 2D Arrays

Durch C-Operatoren 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 resultierenden Matrix berechnet und angezeigt. Die matrixAddition-Funktion nimmt die beiden Ausgangsmatrizen und die resultierende 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++

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz