👤

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


Da-ti-mi raspunsul in C++.


Răspuns :

}#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; }

#include <iostream>
using namespace std;
const int NMAX = 103;

int n;
int v[NMAX][NMAX];

int main()
{
    cin >> n;

    for(int i=1; i <= n/2+1; i++)
        for(int j=n/2+2-i, k=0; j <= n/2+i; j++) {
            if(j > n/2+1 ) k--;
            else k++;
            v[i][j] = k;
            v[n-i+1][j] = k;
        }

    for(int i=1; i<=n; i++) {
        for(int j=1; j<=n; j++)
            cout << v[i][j] << ' ';
        cout << '\n';
    }

    return 0;
}



Vă mulțumim pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Așteptăm cu entuziasm să reveniți și vă invităm să ne adăugați la lista de favorite!


Viz Lesson: Alte intrebari