fbpx

Problema #226 – GenMat13 – Rezolvari PBInfo

de Mihai-Alexandru

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
#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;
    }
}
Comentarii

S-ar putea sa iti placa