VA ROG! URGENT
Se dă un număr natural n. Să se genereze o matrice cu n linii și n coloane, în care pe diagonala principală și cea secundară este 0 și apoi se codifică cu 1, 2, 3, 4 cele 4 zone formate de cele 2 diagonale, ca în exemplu.
Date de intrare
Se citește la tastatură numărul natural n.
Date de ieșire
Programul va afișa matricia cerută formată din n linii și n coloane. Intre numerele de pe o linie va exista un spatiu.
Restricții
1 ≤ n ≤ 50
Exemplu
Date de intrare
5
Date de ieșire
0 1 1 1 0
4 0 1 0 2
4 4 0 2 2
4 0 3 0 2
0 3 3 3 0
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int a[51][51],n,i,j;
do{
cout<<"n=";cin>>n;
}while(n<1 || n>50);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
a[i][i]=0;
if(i+j==n+1)
a[i][j]=0;
else if(i<j && i+j<n+1)
a[i][j]=1;
else
if(i<j && i+j>n+1)
a[i][j]=2;
else if(i>j && i+j>n+1)
a[i][j]=3;
else a[i][j]=4;
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";cout<<endl;}
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Ed. tehnologică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
prog.cpp: In function 'int main()':
prog.cpp:25:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
{for(j=1;j<=n;j++)
^~~
prog.cpp:26:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
cout<