Gigel a descoperit planul unei piramide magice. Planul este reprezentat sub forma unei matrice pătratice de dimensiune n, unde n este impar, în care elementele nule nu aparțin piramidei, iar elementele nenule reprezintă înălțimea piramidei în punctul respectiv.
Vezi exemplul pentru detalii!
Pentru n dat, construiți o matrice care să reprezinte planul unei piramide magice.
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
#include <iostream>
using namespace std;
short a[102][102];
int main()
{
short n, i, j, m, p=0;
cin >> n;
m=n/2+1;
for (i=1; i<=n; ++i)
{ if (i<=m) ++p;
else --p;
a[i][m]=p; }
for (i=1; i<=n; ++i)
{
for (j=m-1; j>=1; --j)
if (a[i][j+1]>1)
{ a[i][j]=a[i][j+1]-1; a[i][2*m-j]=a[i][j]; }
}
for (i=1; i<=n; ++i)
{
for (j=1; j<=n; ++j)
cout << a[i][j] << " ";
cout << "\n";
}
return 0;
}
Explicație:
se completeaza coloana de mijloc, apoi elementele coloanelor din stanga cu copiere in partea dreapta, deoarece avem simetrie axiala
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Studii sociale,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Istorie,
9 ani în urmă