fbpx

Problema #286 – Chenare – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dă un număr natural n. Construiţi o matrice pătratică de dimensiune n, în care elementele fiecărui chenar sunt egale cu numărul de ordine al chenarului.

Chenarele sunt numerotate dinspre exterior spre interior, începând cu 1.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieşire

Programul afișează pe ecran elementele matricei, câte o linie a matricei pe o linie a ecranului, elementele fiecărei linii find separate printr-un spaţiu.

Restricţii şi precizări

  • 1 ≤ n ≤ 50

Exemplu

Date de intrare

5

Date de ieșire

1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
#include <bits/stdc++.h>
using namespace std;
int n , a[51][51];
int main()
{
    cin >> n;
    for(int i = 1 ; i <= n / 2 ; ++i)
        for(int j = i; j <=n - i + 1 ; j++)
            a[i][j] = a[n - i + 1][j] = a[j][i] = a[j][n - i + 1] = i;
    if(n % 2 == 1) a[n / 2 + 1][n / 2 + 1] = n / 2 + 1;
    for(int i = 1 ; i <= n ; i++)
    {
        for(int j = 1 ; j <= n ; j++)
            cout << a[i][j] << " ";
        cout<<endl;
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa