Array multidimensionali
Fa parte della sezione Fondamenti del percorso C di Coddy. Lezione 56 di 63.
Un array multidimensionale è un array di array. In C, puoi creare un array 2D (l’array multidimensionale più comune), essenzialmente una tabella con righe e colonne.
Dichiara un array 2D:
int matrix[3][4];Questo crea un array 2D con 3 righe e 4 colonne.
Puoi inizializzare un array 2D quando lo dichiari:
int matrix[3][4] = {
{1, 2, 3, 4}, // Prima riga
{5, 6, 7, 8}, // Seconda riga
{9, 10, 11, 12} // Terza riga
};Per accedere agli elementi di un array 2D, usa due indici:
int value = matrix[1][2]; // Accede alla riga 1, colonna 2 (value sarà 7)Per modificare un elemento in un array 2D:
matrix[0][3] = 100; // Modifica l'elemento alla riga 0, colonna 3, impostandolo a 100Puoi anche usare cicli annidati per accedere a tutti gli elementi di un array 2D:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // Nuova riga dopo ogni riga
}Sfida
FacileCrea una funzione chiamata printDiagonal che accetta un array quadrato bidimensionale (in cui il numero di righe è uguale al numero di colonne) e stampa gli elementi sulla diagonale principale (dall'angolo in alto a sinistra a quello in basso a destra).
La funzione dovrebbe:
- Accettare un array di interi e la sua dimensione come parametri.
- Stampare ogni elemento sulla diagonale principale (dove l'indice della riga è uguale all'indice della colonna).
- Separare ogni elemento con uno spazio.
Per esempio, dato l'array:
1 2 3 4 5 6 7 8 9
La funzione dovrebbe stampare: 1 5 9
Provalo tu
#include <stdio.h>
// Function to print the diagonal elements of a square matrix
void printDiagonal(int matrix[][100], int size) {
// Write your code here
}
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;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
2Variabili
Tipi di datiInteroFloat - DoubleCaratteriValori booleaniCostantiFondamenti di printfRegole di denominazione delle variabiliConversione di tipo parte 1Conversione di tipo parte 2Sfida di ripasso3Operatori
Operatori aritmeticiOperatore moduloIncremento/DecrementoOperatori di assegnazioneOperatori relazionaliOperatori logici Parte 1Operatori logici Parte 2Operatori logici Parte 3Sfida di riepilogoEsercitati da solo: Compilatore C online