# PBinfo #991 – matrice5 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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 matricei
x – matricea
k – 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 1 la n.

Exemplu:
matrice5.in

4 
1 6 3 1
6 1 3 1
1 3 1 6
3 1 6 1
matrice5.out

18

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("matrice5.in");
ofstream out("matrice5.out");
int n, mat[105][105];
int calc(int n, int mat[][105], int k) {
    int S = 0;
    for (int i = 1; i < k; i++)
        S = S + mat[i][k - i];
    return S;
}
int main() {
    in >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            in >> mat[i][j];
    int S = 0;
    for (int k = 2 ; k <= n ; k++)
        S = S + calc(n, mat, k);
    out << S;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/991)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/991/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-991/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
