#include
int main () {
int n, i, j, sum =0;
// Ottieni le dimensioni della matrice quadrata
printf ("Immettere le dimensioni della matrice quadrata:");
scanf ("%d", &n);
// Dichiara un array 2D per archiviare gli elementi Matrix
int matrix [n] [n];
// Ottieni gli elementi di matrice dall'utente
printf ("Immettere gli elementi della matrice:\ n");
per (i =0; i
}
}
// calcola la somma delle diagonali
per (i =0; i
Sum +=Matrix [i] [i];
// Somma della diagonale secondaria (in alto a destra verso il basso)
Sum +=Matrix [i] [n - i - 1];
}
// Stampa la somma delle diagonali
printf ("somma di tutte le diagonali della matrice:%d \ n", somma);
restituzione 0;
}
`` `
Spiegazione:
1. Includi intestazione: `#include
2. Dichiarare variabili:
- `N`:memorizza le dimensioni della matrice quadrata.
- `I`,` J`:contatori di loop per iterare attraverso la matrice.
- `Sum`:memorizza la somma degli elementi diagonali.
3. Ottieni la dimensione della matrice: Il codice richiede all'utente di inserire la dimensione della matrice quadrata e la memorizza in `N`.
4. Dichiara matrice: Viene dichiarato un array 2D `matrix` per archiviare gli elementi della matrice. La dimensione è `n x n`.
5. Elementi della matrice di input: Il codice prende gli elementi della matrice come input dall'utente e li memorizza nell'array `Matrix`.
6. Calcola la somma diagonale:
- Il codice utilizza loop nidificati per iterare attraverso la matrice.
-All'interno dei loop, aggiunge l'elemento in `matrix [i] [i]` a `sum`, che corrisponde alla diagonale primaria (in alto a sinistra a destra).
- Aggiunge anche l'elemento in `Matrix [i] [n - i - 1]` a `sum`, che corrisponde alla diagonale secondaria (in alto a destra a sinistra in basso).
7. Somma di stampa: Infine, il codice stampa la "somma" delle diagonali sulla console.
Esempio:
Input:
`` `
Immettere le dimensioni della matrice quadrata:3
Immettere gli elementi della matrice:
1 2 3
4 5 6
7 8 9
`` `
Output:
`` `
Somma di tutte le diagonali della matrice:25
`` `
In questo esempio, la somma delle diagonali (1+5+9+3+5+7) è 25.