Informatică, întrebare adresată de mateiursuleanu, 8 ani în urmă

17
Scrieți un program c/C++ care citeşte de la tastatură un număr natural n (2<n<20),
construieşte în memorie şi afişează pe ecran o matrice cu n linii şi n coloane, în care
fiecare element de pe diagonala secundară are valoarea n, fiecare element aflat deasupra
diagonalei secundare este mai mic cu o unitate decât vecinul aflat pe aceeaşi linie în
dreapta lui şi fiecare element aflat sub diagonala secundară este mai mare cu o unitate
decât vecinul aflat pe aceeaşi linie în stânga lui.
Elementele matricei vor fi afişate pe ecran, câte o linie a matricei pe
câte o linie a ecranului cu câte un spațiu între elementele fiecărei linii.
Exemplu: pentru n=5 se va afişa matricea alăturată.
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9​

Răspunsuri la întrebare

Răspuns de StefanGroparu21
2

Răspuns:

#include<bits/stdc++.h>

using namespace std;

int main()

{

int n,a[20][20],m,i,j,nr=0;

cin>>n;

m=n;

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

{

   a[i][m]=n;

   m--;

for(j=m;j>=1;j--)

   a[i][j]=a[i][j+1]-1;

for(j=m+2;j<=n;j++)

   a[i][j]=a[i][j-1]+1;

}

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

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

{

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

nr++;

if(nr==n)

{

   cout<<'\n';

   nr=0;

}

}

   return 0;

}

Explicație:

Sper ca te-am ajutat!!!

Alte întrebări interesante