393
Cerința
Se dă o matrice pătratică cu n linii și n coloane, numerotate de la 1 la n și elemente numere naturale. Să se determine suma elementelor aflate strict deasupra diagonalei secundare a matricei.
Se va defini și folosi subprogramul sub, cu 3 parametri:
n– dimensiunea matriceix– matriceak– un număr natural,1 < k ≤ 2*n
care va returna suma tuturor elementelor aij din matrice pentru care i + j = k.
Date de intrare
Fișierul de intrare matrice5.in conține pe prima linie numărul n, iar următoarele n linii câte n numere naturale, reprezentând elementele matricei.
Date de ieșire
Fișierul de ieșire matrice5.out va conține pe prima linie suma determinată.
Restricții și precizări
1 ≤ n ≤ 100- elementele matricei sunt numere naturale mai mici decât
1000 - liniile matricei sunt numerotate de la
1lan.
Exemplu
matrice5.in
4 1 6 3 1 6 1 3 1 1 3 1 6 3 1 6 1
matrice5.out
18
#include <bits/stdc++.h>
using namespace std;
ifstream cin("matrice5.in");
ofstream cout("matrice5.out");
int sub(int n, int a[][101], int k){
int sum = 0;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
if(i + j == k)
sum += a[i][j];
return sum;
}
/*
a[1][1], a[1][2], a[1][3]
a[2][1], a[2][2], a[2][3]
a[3][1], a[3][2], a[3][3]
*/
int main(){
int n, a[101][101];
cin >> n;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
cin >> a[i][j];
int sum = 0;
for(int i = 2; i <= n; ++i)
sum += sub(n, a, i);
cout << sum;
return 0;
}
Comentarii