Menu
Coddy logo textTech

Tablice wielowymiarowe

Część sekcji Podstawy ścieżki C w Coddy. Lekcja 56 z 63.

Tablica wielowymiarowa to tablica tablic. W C możesz utworzyć tablicę 2D (najczęściej spotykany rodzaj tablicy wielowymiarowej), która jest w zasadzie tabelą z wierszami i kolumnami.

Zadeklaruj tablicę 2D:

int matrix[3][4];

Tworzy to tablicę 2D z 3 wierszami i 4 kolumnami.

Możesz zainicjalizować tablicę 2D podczas jej deklarowania:

int matrix[3][4] = {
    {1, 2, 3, 4},    // Pierwszy wiersz
    {5, 6, 7, 8},    // Drugi wiersz
    {9, 10, 11, 12}  // Trzeci wiersz
};

Aby uzyskać dostęp do elementów tablicy 2D, użyj dwóch indeksów:

int value = matrix[1][2];  // Uzyskuje dostęp do wiersza 1, kolumny 2 (value będzie równe 7)

Aby zmodyfikować element w tablicy 2D:

matrix[0][3] = 100;  // Zmienia element w wierszu 0, kolumnie 3 na 100

Możesz też używać zagnieżdżonych pętli, aby uzyskać dostęp do wszystkich elementów tablicy 2D:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // Nowa linia po każdym wierszu
}
challenge icon

Wyzwanie

Łatwy

Utwórz funkcję o nazwie printDiagonal, która przyjmuje dwuwymiarową tablicę kwadratową (w której liczba wierszy jest równa liczbie kolumn) i wypisuje elementy na głównej przekątnej (od lewego górnego do prawego dolnego rogu).

Funkcja powinna:

  1. Przyjmować tablicę liczb całkowitych i jej rozmiar jako parametry.
  2. Wypisywać każdy element na głównej przekątnej (gdzie indeks wiersza jest równy indeksowi kolumny).
  3. Oddzielać każdy element spacją.

Na przykład, dla tablicy:

1 2 3 4 5 6 7 8 9

Funkcja powinna wypisać: 1 5 9

Spróbuj swoich sił

#include <stdio.h>

// Funkcja wypisująca elementy przekątnej macierzy kwadratowej
void printDiagonal(int matrix[][100], int size) {
    // Wpisz tutaj swój kod
    
}

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C online