Ciao a tutti,
devo realizzare una funzione magic_square che, data una matrice m in forma linearizzata e la sua dimensione (positiva) n, restituisce 1 se la matrice è un quadrato magico, 0 altrimenti.
Una matrice quadrata è un quadrato magico se la somma degli elementi presenti in ogni riga, in ogni colonna ed in entrambe le diagonali è sempre lo stesso numero.
Dichiarazione della funzione: int quadrato_magico(int m[], int n)
Esempi:
magic_square ({31, 73, 7, 13, 37, 61, 67, 1, 43}, 3) restituisce 1;
magic_square ({1, 4, 7, 2}, 2) restituisce 0;
magic_square ({1}, 1) restituisce 1.
Il fatto che si tratti di una matrice linearizzata mi mette abbastanza in difficoltà in quanto non so gestire la posizione dei vari elementi. Qualcuno può darmi una mano? Grazie!