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

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n,a,b,i,j;

   cin>>n>>a>>b;

   int v[n+1][n+1];

   for(i=1;i<=n;i++)

       for(j=1;j<=n;j++)

       {

           if(i==a || j==b)

               v[i][j]=0;

           else if(i<a && j<b)

               v[i][j]=1;

           else if(i<a && j>b)

               v[i][j]=2;

           else if(i>a && j<b)

               v[i][j]=3;

           else

               v[i][j]=4;

       }

   for(i=1;i<=n;i++)

   {

       for(j=1;j<=n;j++)

           cout<<v[i][j]<<" ";

       cout<<endl;

   }

   return 0;

}

Explicație:

Am verificat-o și pe PbInfo și am primit 100 de puncte. Sper că te-am ajutat!