# PBinfo #207 – genmat2 – Rezolvare C++

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

## Enunț

Cerinţa
Scrieţi un program care citeşte de la tastatură un număr natural n şi construieşte în memorie o matrice cu n linii şi n coloane ale cărei elemente vor primi valori după cum urmează:


elementele aflate pe diagonala principală a matricei vor primi valoarea 0
elementele de pe prima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n
elementele de pe a doua coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea n-1
…
elementele de pe ultima coloană, cu excepţia celui aflat pe diagonala principală vor primi valoarea 1

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.

Restricţii şi precizări

2≤n≤24

Exemplu:
Intrare

4
Ieșire

0 3 2 1
4 0 2 1
4 3 0 1
4 3 2 0

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, mat[101][101];
    cin >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            mat[i][j] = n - j + 1;
    for(int i = 1; i <= n; i++) mat[i][i] = 0;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= n; j++)
            cout << mat[i][j] << " ";
        cout << endl;
    } return 0;
}
```

## Resurse

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