se citeste o matrice patratica de dimensiuni n sa se afiseze cati de 0 se afla pe diagonala principala si secundara
Răspunsuri la întrebare
Se parcurge matricea pe diagonala principala si secundara.
Observam ca indici elementelor de pe diagonala principala sunt egalii deci
i = j
Pe diagonala secundara indici au modelul i + j = n + 1 sau
j = n - i + 1
Mai e un un caz special cand n este impar iar cele 2 diagonale se intalnesc intr-un "mijloc" si o sa fie numarat de 2 ori numarul daca este 0.
#include <iostream>
using namespace std;
int main()
{
int n, i, j, k = 0;
cin >> n;
int mat[n+1][n+1];
for ( i = 1 ; i <= n ; ++i )
for ( j = 1 ; j <= n ; ++j )
cin >> mat[i][j];
for ( i = 1 ; i<= n ; ++i )
if ( mat[i][i] == 0)
++k;
for ( i = 1 ; i <= n ; ++i )
if ( mat[i][n - i + 1] == 0)
++k;
if ( n % 2 == 1 )
k--;
cout << k;
return 0;
}