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 Beispielint
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++- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups