Menu
Coddy logo textTech

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 100

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

Sfida

Facile

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

  1. Accettare un array di interi e la sua dimensione come parametri.
  2. Stampare ogni elemento sulla diagonale principale (dove l'indice della riga è uguale all'indice della colonna).
  3. 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;
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore C online