👤

Scrieți un program C/C++ care citește de la tastatură un număr natural, n (n∈[2,20]), și construiește în memorie un tablou bidimensional cu n linii și n coloane, astfel încât fiecare linie a sa are proprietățile:
• elementul situat pe diagonala secundară are valoarea n;
• începând de la diagonala secundară, spre stânga, elementele formează un șir strict descrescător de numere consecutive, iar începând de la diagonala secundară, spre dreapta, elementele formează tot un șir strict descrescător de numere consecutive.

Exemplu: dacă n=5 se afișează pe ecran tabloul alăturat.


Scrieți Un Program CC Care Citește De La Tastatură Un Număr Natural N N220 Și Construiește În Memorie Un Tablou Bidimensional Cu N Linii Și N Coloane Astfel Înc class=

Răspuns :

#include <iostream>

#include <vector>

int main() {

size_t j, i, n;

std::cin >> n;

std::vector<std::vector<size_t>> tabl(n);

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

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

     tabl[i - 1].push_back(j > n ? n - (j - n) : j);

     

   for (i = 0; i < n; ++i) {

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

           std::cout << tabl[i][j] << ' ';

           

       std::cout << '\n';

   }

}

Răspuns:

int a[1000][1000];

int n=0,m,k ,ok=0;

int main()

{

   cin>>n;

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

   {

       k=i;

       ok=1;

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

       {

               a[i][j]=k;

               if(k<n&&ok==1){

                   k++;

               }else{

                   ok=0;

                   k--;

               }

               }

       }

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

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

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

           }cout<<endl;

       }

   }