Mehrdimensionale Arrays
Teil des Abschnitts Grundlagen der C-Journey von Coddy. Lektion 56 von 63.
Ein mehrdimensionales Array ist ein Array aus Arrays. In C kannst du ein 2D-Array (das häufigste mehrdimensionale Array) erstellen, im Wesentlichen eine Tabelle mit Zeilen und Spalten.
Ein 2D-Array deklarieren:
int matrix[3][4];Dies erstellt ein 2D-Array mit 3 Zeilen und 4 Spalten.
Du kannst ein 2D-Array bei seiner 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, verwende zwei Indizes:
int value = matrix[1][2]; // Greift auf Zeile 1, Spalte 2 zu (Wert wird 7 sein)So änderst du ein element in einem 2D-Array:
matrix[0][3] = 100; // Ändert das Element in Zeile 0, Spalte 3 auf 100Du kannst 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
EinfachErstelle eine Funktion namens printDiagonal, die ein zweidimensionales quadratisches Array (bei dem die Anzahl der Zeilen der Anzahl der Spalten entspricht) übernimmt 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 übernehmen.
- Jedes Element auf der Hauptdiagonale ausgeben (bei der der Zeilenindex dem Spaltenindex entspricht).
- Jedes Element durch ein Leerzeichen trennen.
Zum Beispiel, für das folgende Array:
1 2 3 4 5 6 7 8 9
Die Funktion sollte Folgendes ausgeben: 1 5 9
Probier es selbst
#include <stdio.h>
// Funktion zum Ausgeben der Diagonalelemente einer quadratischen Matrix
void printDiagonal(int matrix[][100], int size) {
// Schreibe deinen Code hier
}
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 Grundlagen
2Variablen
DatentypenGanzzahlGleitkommazahl – DoubleZeichenBoolesche WerteKonstantenprintf-GrundlagenRegeln für die Benennung von VariablenTypumwandlung Teil 1Typumwandlung Teil 2Wiederholungsaufgabe3Operatoren
Arithmetische OperatorenModulo-OperatorInkrement/DekrementZuweisungsoperatorenVergleichsoperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Wiederholungs-ChallengeÜbe selbstständig: Online-C-Compiler