Menu
Coddy logo textTech

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 100

Sie 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
}
challenge icon

Aufgabe

Einfach

Erstellen 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:

  1. Ein Integer-Array und dessen Größe als Parameter entgegennehmen.
  2. Jedes Element auf der Hauptdiagonale ausgeben (wo der Zeilenindex dem Spaltenindex entspricht).
  3. 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 100

Verwenden 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;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals