Mehrdimensionale Arrays
Teil des Abschnitts Fundamentals der C-Journey von Coddy — Lektion 56 von 63.
Ein mehrdimensionales Array ist ein Array von Arrays. In C können Sie ein 2D-Array erstellen (das gebräuchlichste mehrdimensionale Array), im Wesentlichen eine Tabelle mit Zeilen und Spalten.
Deklarieren Sie ein 2D-Array:
int matrix[3][4];Dies erzeugt ein 2D-Array mit 3 Zeilen und 4 Spalten.
Sie können ein 2D-Array bei der Deklaration initialisieren:
int matrix[3][4] = {
{1, 2, 3, 4}, // Erste Zeile
{5, 6, 7, 8}, // Zweite Zeile
{9, 10, 11, 12} // Dritte Zeile
};Um auf Elemente in einem 2D-Array zuzugreifen, verwenden Sie zwei Indizes:
int value = matrix[1][2]; // Greift auf Zeile 1, Spalte 2 zu (Wert wird 7 sein)Um ein Element in einem 2D-Array zu ändern:
matrix[0][3] = 100; // Ändert das Element in Zeile 0, Spalte 3 auf 100Sie können auch verschachtelte Schleifen verwenden, um auf alle Elemente in einem 2D-Array zuzugreifen:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // Neue Zeile nach jeder Zeile
}Aufgabe
EinfachErstellen Sie eine Funktion namens printDiagonal, die ein quadratisches 2D-Array entgegennimmt (bei dem die Anzahl der Zeilen der Anzahl der Spalten entspricht) und die Elemente auf der Hauptdiagonale (von oben links nach unten rechts) ausgibt.
Die Funktion sollte:
- Ein Integer-Array und dessen Größe als Parameter entgegennehmen.
- Jedes Element auf der Hauptdiagonale ausgeben (wo der Zeilenindex dem Spaltenindex entspricht).
- Jedes Element durch ein Leerzeichen trennen.
Zum Beispiel, gegeben das Array:
1 2 3 4 5 6 7 8 9
Die Funktion sollte Folgendes ausgeben: 1 5 9
Spickzettel
Ein mehrdimensionales Array ist ein Array von Arrays. In C können Sie ein 2D-Array mit Zeilen und Spalten erstellen.
Deklarieren Sie ein 2D-Array:
int matrix[3][4];Initialisieren Sie ein 2D-Array bei der Deklaration:
int matrix[3][4] = {
{1, 2, 3, 4}, // Erste Zeile
{5, 6, 7, 8}, // Zweite Zeile
{9, 10, 11, 12} // Dritte Zeile
};Greifen Sie mit zwei Indizes auf Elemente zu:
int value = matrix[1][2]; // Greift auf Zeile 1, Spalte 2 zu (Wert wird 7 sein)Ein Element ändern:
matrix[0][3] = 100; // Ändert das Element in Zeile 0, Spalte 3 auf 100Verwenden Sie verschachtelte Schleifen, um auf alle Elemente zuzugreifen:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // Neue Zeile nach jeder Zeile
}Probier es selbst
#include <stdio.h>
// Funktion zum Ausgeben der Diagonalelemente einer quadratischen Matrix
void printDiagonal(int matrix[][100], int size) {
// Schreiben Sie hier Ihren Code
}
int main() {
int size;
scanf("%d", &size);
int matrix[100][100];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
scanf("%d", &matrix[i][j]);
}
}
printDiagonal(matrix, size);
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
2Variablen
DatentypenIntegerFloat - DoubleZeichenBooleansKonstantenprintf GrundlagenBenennungsregeln für VariablenType Casting Teil 1Type Casting Teil 2Wiederholungs-Challenge3Operatoren
Arithmetische OperatorenModulo-OperatorInkrement/DekrementZuweisungsoperatorenRelationale OperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Wiederholungs-Challenge