414
Cerinţa
Se dă o matrice cu n linii şi n coloane şi elemente numere naturale. Cele două diagonale delimitează în matrice 4 zone:
NORD– elementele situate deasupra diagonalei principale şi deasupra celei secundareEST– elementele situate deasupra diagonalei principale şi sub cea secundarăSUD– elementele situate sub diagonala principală şi sub cea secundarăVEST– elementele situate sub diagonala principală şi deasupra celei secundare
Să se afişeze, în ordine crescătoare, sumele elementelor din cele patru zone.
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 numerele S1 S2 S3 S4, separate printr-un spaţiu, cu semnificaţia precizată.
Restricţii şi precizări
1 ≤ n ≤ 100- elementele matricei vor fi mai mici decât
1.000
Exemplu
Date de intrare
5 3 1 8 5 4 7 8 5 1 2 2 2 6 7 3 9 8 1 3 6 7 5 3 1 7
Date de ieșire
10 18 19 20
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n , a[101][101] , nord = 0, sud = 0, vest = 0, est = 0 , v[4];
cin >> n;
for(int i = 0 ; i < n ; i++)
for(int j = 0 ; j < n ; j++)
cin >> a[i][j];
for(int i = 0 ; i < n ; i++)
for(int j = 0 ; j < n ; j++)
{
if(i < j && i + j < n - 1) nord += a[i][j];
else if(i < j && i + j > n - 1) est += a[i][j];
else if(i > j && i + j < n - 1) vest += a[i][j];
else if(i > j && i + j > n - 1) sud += a[i][j];
}
v[1] = nord;
v[2] = sud ;
v[3] = est;
v[4] = vest;
sort(v+1 , v +5);
for(int i = 1 ; i<= 4 ; ++i) cout <<v[i] << " ";
}
Comentarii