fbpx

Problema #313 – Diagonale – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dă o matrice cu n linii şi n coloane şi elemente numere naturale. Calculaţi diferenţa în valoare absolută dintre sumele elementelor de pe cele două diagonale.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n*n numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.

Date de ieşire

Programul afișează pe ecran numărul D, reprezentând valoarea calculată.

Restricţii şi precizări

  • 1 ≤ n ≤ 20
  • elementele matricei vor fi mai mici decât 10000

Exemplu

Date de intrare

4
8 3 3 7 
1 1 6 5 
8 7 1 1 
9 8 7 1 

Date de ieșire

18

Explicație

Sumele elementelor pe cele două diagonale sunt: 11 şi 29. Diferenţa în valoare absolută este: 18

#include <bits/stdc++.h>

using namespace std;
int main()
{
    int n,m,a[22][22],s1=0,s2=0;
    cin>>n;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++) cin>>a[i][j];
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
        {
            if(i==j) s1=s1+a[i][j];
        }
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
        {
            if(i+j==n+1) s2=s2+a[i][j];

        }
    if(s1>s2) cout<<s1-s2;
    else cout<<s2-s1;
    return 0;
}
Comentarii

S-ar putea sa iti placa