Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2
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.
5.
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.
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
using namespace std;
int main()
{
int a[100][100]={{0}},i,j,n,p;
cin>>n;
p=n;
for(i=1;i<=n;i++)
a[i][n-i+1]=n;
for(i=1;i<=n-1;i++)
{
for(j=n-i;j>0;j--)
{
a[i][j]=--p;;
a[n-i+1][n-j+1]=a[i][j];
}
p=n;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
using namespace std;
int main()
{
int a[100][100]={{0}},i,j,n,p;
cin>>n;
p=n;
for(i=1;i<=n;i++)
a[i][n-i+1]=n;
for(i=1;i<=n-1;i++)
{
for(j=n-i;j>0;j--)
{
a[i][j]=--p;;
a[n-i+1][n-j+1]=a[i][j];
}
p=n;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Ed. muzicală,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă