Considerăm o matrice pătratică cu N
linii și N
coloane. În această matrice sunt definite 4
zone:
- zona
1
, formată din elementele situate strict deasupra diagonalei principale și strict deasupra diagonalei secundare; - zona
2
, formată din elementele situate strict deasupra diagonalei principale și strict sub diagonala secundară; - zona
3
, formată din elementele situate strict sub diagonala principală și strict sub diagonala secundară; - zona
4
, formată din elementele situate strict sub diagonala principală și strict deasupra diagonalei secundare;
Cerința
Se dă o matrice pătratică și un număr natural Z
, reprezentând o zonă din matrice. Să se determine suma elementelor din zona Z
.
Date de intrare
Programul citește de la tastatură numerele N Z
, iar apoi N*N
numere naturale, reprezentând elementele matricei.
Date de ieșire
Programul va afișa pe ecran numărul S
, reprezentând suma elementelor din zona Z
a matricei.
Restricții și precizări
1 ≤ N ≤ 200
1 ≤ Z ≤ 4
- elementele matricei vor fi mai mici decât
1000
Exemplu
Intrare
5 2 7 4 8 5 10 7 7 10 2 2 1 2 8 8 4 9 9 5 3 2 3 6 7 1 7
Ieșire
16
Explicație
Elementele din zona 2
sunt 2 8 4 2
, cu suma 16
.
#include <bits/stdc++.h> using namespace std; int main() { int n , a[201][201] , nord = 0, sud = 0, vest = 0, est = 0 , p; cin >> n >> p; 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]; } if(p == 1) cout << nord; if(p == 2) cout << est; if(p == 3) cout << sud; if(p == 4) cout << vest; return 0; }