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 100Moż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
}Wyzwanie
ŁatwyUtwó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:
- Przyjmować tablicę liczb całkowitych i jej rozmiar jako parametry.
- Wypisywać każdy element na głównej przekątnej (gdzie indeks wiersza jest równy indeksowi kolumny).
- 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;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
2Zmienne
Typy danychLiczby całkowiteLiczby zmiennoprzecinkowe — float i doubleZnakiWartości logiczneStałePodstawy printfZasady nazewnictwa zmiennychKonwersja typów — część 1Konwersja typów — część 2Wyzwanie podsumowujące3Operatory
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaOperatory przypisaniaOperatory relacyjneOperatory logiczne — część 1Operatory logiczne — część 2Operatory logiczne — część 3Wyzwanie podsumowującePoćwicz samodzielnie: Kompilator C online