Scrieti programul C++ care citeste de la tastatura o valuare naturala n(2<=n<=24), construieste si afiseaza pe ecran o matrice a cu n linii si n coloane, simetrica fata de diagonala secundara. Elemnetele matricii situate deasupra diagonalei secundare, inclusiv diagonala secundara, sunt toate numerele naturale de la 1 la n*(n+1)/2. Elementele fiecarei linii de la stanga la dreapta si ale fiecarei coloane, de sus in jos situate deasupra diagonalei secunadare, inclusiv cele de pe diagonala secundara sunt in ordine strict crescatoare ca in exemplu. Matricea se va afisa pe ecran cate o linie a matricei pe o linie a ecranului, elementele fiecarei linii fiind separate intre ele prin cate un spatiu.
Exemplu: Pentru n=4 se afiseaza:
1 3 6 10
2 5 9 6
4 8 5 3
7 4 2 1
Răspunsuri la întrebare
Răspuns de
5
#include <iostream>
using namespace std;
int main()
{
int a[25][25], n, i, j, x=1, y=1;
cout<<"n="; cin>>n;
for(i=1;i<=n;i++){
a[i][1]=x; a[n][n-i+1]=x;
x=x+y; y++;
for(j=i-1;j>=1;j--){
a[j][i-j+1]=a[j+1][i-j]+1;
a[n-i+j][n-j+1]=a[j][i-j+1];
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
cout<<a[i][j]<<' ';
cout<<'\n';
}
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă