/* Napisati program koji proverava da li je dati kvadrat celih brojeva magičan. Kvadrat je magičan ako su mu jednaki zbirovi svih vrsta, svih kolona, kao i glavne i sporedne dijagonale. Sa standardnog ulaza se učitava dimenzija kvadrata n (2 ≤ n ≤ 10), a zatim i kvadrat celih brojeva dimenzija n × n. Na standardni izlaz ispisati da ukoliko je kvadrat magičan, a inače ne. Podrazumevati da je ulaz ispravno zadat. */ #include #include using namespace std; int main() { int n; cin >> n; if(n<2||n>10) { cout << "-1" << endl; return -1; } vector> mat(n,vector(n)); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { cin >> mat[i][j]; } } int zbir = 0; for(int i = 0; i < n; i++) { zbir += mat[0][i]; } for(int i = 1; i < n; i++) { int z = 0; for(int j = 0; j < n; j++) { z += mat[i][j]; } if(z!=zbir) { cout << "ne" << endl; return 0; } } for(int i = 0; i < n; i++) { int z = 0; for(int j = 0; j < n; j++) { z += mat[j][i]; } if(z!=zbir) { cout << "ne" << endl; return 0; } } int d1 = 0; int d2 = 0; for(int i = 0; i < n; i++) { d1 += mat[i][i]; d2 += mat[i][n-1-i]; } if(d1!=zbir || d2!=zbir) { cout << "ne" << endl; return 0; } cout << "da" << endl; return 0; }