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
#include <bits/stdc++.h> using namespace std; int main() { int n , a[103]; cin >> n; for(int i = 1 ; i <= n ; ++i) { if(i == n / 2 + 1)a[i] = 1; else a[i] = 0; } for(int i = 1 ; i <= n / 2 + 1 ; ++i) { for(int j = 1 ; j <= n ; ++j) cout << a[j] <<" "; cout << endl; for(int j = n/2+1-i ; j <= n/2+1+i ; ++j) a[j]++; } for(int i = 1 ; i <= n ; ++i) a[i]--; for(int i = n / 2 ; i >= 1 ; --i) { for(int j = n / 2 + 1 - i ; j <= n / 2 + 1 + i ; ++j) a[j]--; for(int j = 1 ; j <= n ; ++j) cout << a[j] <<" "; cout << endl; } }