VA ROG MULT ,URGENT C++
Anexe:
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int main()
{int n,i,j,l,a[21][21];
cin>>n;
for (i=1;i<=n;i++)
{l=i;
for (j=1;j<=n;j++)
{ a[i][j]=l;
if (j>=n+1-i)
l--;
else l++;
}
}
for (i=1;i<=n;i++)
{ for (j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<'\n';
}
}
Explicație: se observă cum fiecare linie începe cu a câta este( i), crește până la poziția n+1-i pe care se află n, după care scade, așa că am luat un l egal cu a câta linie este fiecare, pe care mai întai în for-ul cu j o atribuim lui a[i][j], după care verificăm dacă j>=n+1-i (formula elementelor de pe diagonala secundară), dacă este adevărat, atunci scădem din l 1, dacă încă nu a ajuns, atunci îl creștem pe l cu 1. La final afișăm
adresadeemail1112:
în loc de '\n' poți scrie endl
Alte întrebări interesante
Religie,
8 ani în urmă
Franceza,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Franceza,
9 ani în urmă
Matematică,
9 ani în urmă