# PBinfo #226 – genmat13 – Rezolvare C++

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

## Enunț

Cerinţa
Scrieţi un program care citeşte de la tastatură trei numere naturale n,  a, b şi construieşte în memorie o matrice cu n linii şi n coloane formată numai din valori 0, 1, 2, 3 şi 4 astfel încât: elementele aflate pe linia a sau coloana b sunt egale cu 0, cele aflate deasupra liniei a şi la stânga coloanei b sunt egale cu 1, cele aflate  deasupra liniei a şi la dreapta coloanei b sunt egale cu 2, cele aflate sub linia a şi la stânga coloanei b sunt egale cu 3, iar elementele aflate sub linia a şi la dreapta coloanei b sunt egale cu 4.

Date de intrare
Programul citește de la tastatură numerele n, a şi b.

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
1<a<n
1<b<n
liniile şi coloanele sunt numerotate de la 1

Exemplu:
Intrare

5 4 3
Ieșire

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

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, a, b;
    cin >> n >> a >> b;
    for (int i = 1; i <= n ; i++) {
        for (int j = 1; j <= n; j++) {
            if (i == a || j == b) cout << 0 << " ";
            if (i < a && j < b) cout << 1 << " ";
            if (i > a && j < b) cout << 3 << " ";
            if (i < a && j > b) cout << 2 << " ";
            if (i > a && j > b) cout << 4 << " " ;
        } cout << endl;
    } return 0;
}
```

## Resurse

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