Cerința
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.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran elementele matricei construite, câte o linie a matricei pe o linie a ecranului, elementele de pe o linie fiind separate prin exact un spaţiu.
Restricții și precizări
3 ≤ n ≤ 101
, impar
Exemplu
Intrare
5
Ieșire
0 0 1 0 0 0 1 2 1 0 1 2 3 2 1 0 1 2 1 0 0 0 1 0 0
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Piramida2:
#include <iostream>
using namespace std;
int a[102][102], n;
int main(){
cin >> n;
a[1][n/2 + 1] = a[n][n/2+1] = 1;
for(int i = 2 , j = n - 1 ; i <= j ; i ++, j --)
{
a[i][n/2+1] = a[i-1][n/2+1] + 1;
a[j][n/2+1] = a[j+1][n/2+1] + 1;
for(int k = a[i][n/2+1]-1 , p = 1 ; k > 0 ; k -- , p ++)
a[i][n/2+1-p] = a[i][n/2+1+p] = k;
for(int k = a[j][n/2+1]-1 , p = 1 ; k > 0 ; k -- , p ++)
a[j][n/2+1-p] = a[j][n/2+1+p] = k;
}
for (int i = 1 ;i <= n ; ++i)
{
for(int j = 1 ; j <= n ; ++j)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #855 Piramida2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #855 Piramida2 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!