Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2
construieşte în memorie o matrice cu n linii şi n coloane, numerotate de la 1 la n, ale cărei
elemente primesc valori după cum urmează:
- elementele aflate pe diagonala secundară sunt toate nule;
- elementele de pe coloana i (1≤i≤n), aflate deasupra diagonalei secundare, au valoarea
egală cu i;
- elementele de pe linia n-i+1 (1≤i≤n), aflate sub diagonala secundară, au valoarea egală
cu i.
5.
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.
Exemplu: pentru n=4 se va afişa matricea alăturată.
Ma poate ajuta cineva, va rog ??
stassahul:
Daca ai afisa si desenul din exemplu, teas fi ajutat, asa nimic nu se intelege din conditii
1 2 0 3
1 0 2 2
0 1 1 1
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;
int main()
{
int i,j,n;
cin>>n;
int mat[n][n];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(i+j<n+1)
mat[i][j]=i;
if(i+j==n+1)
mat[i][j]=0;
if(i+j>n+1)
mat[i][j]=n-i+1;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<mat[i][j]<<" ";
cout<<endl;
}
return 0;
}
using namespace std;
int main()
{
int i,j,n;
cin>>n;
int mat[n][n];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(i+j<n+1)
mat[i][j]=i;
if(i+j==n+1)
mat[i][j]=0;
if(i+j>n+1)
mat[i][j]=n-i+1;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<mat[i][j]<<" ";
cout<<endl;
}
return 0;
}
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Chimie,
9 ani în urmă
Limba română,
9 ani în urmă