# PBinfo #210 – chenar – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Se consideră tabloul bidimensional cu n linii şi n coloane ce conţine numere naturale cu cel mult patru cifre fiecare. 

Cerinţa
Scrieţi un program care citeşte numărul natural n şi cele n*n elemente ale tabloului şi apoi afişează elementele chenarului exterior al tabloului, separate prin câte un spaţiu. Chenarul este parcurs în sensul acelor de ceasornic începând din colţul său stânga-sus. Chenarul este format din prima şi ultima linie, prima şi ultima coloană a tabloului. 

Date de intrare
Fişierul de intrare chenar.in conţine pe prima linie numărul n, iar pe următoarele n linii câte n numere naturale separate prin spaţii, reprezentând elementele tabloului.

Date de ieşire
Fişierul de ieşire chenar.out va conţine pe prima linie elementele cerute, separate prin câte un spaţiu.

Restricţii şi precizări

2 ≤ n ≤ 23
elementele tabloului sunt mai mici decât 1000

Exemplu:
chenar.in

5
1 2 3 4 5
6 7 8 9 1
2 3 4 5 6
7 8 9 1 2
3 4 5 6 7
chenar.out

1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("chenar.in");
ofstream out("chenar.out");
int main() {
    int mat[101][101], n;
    in >> n;
    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= n; ++j)
            in >> mat[i][j];
    for (int j = 1; j <= n; ++j)
        out << mat[1][j] << " ";
    for (int i = 2; i <= n; ++i)
        out << mat[i][n] << " ";
    for (int j = n - 1; j >= 1; --j)
        out << mat[n][j] << " ";
    for (int i = n - 1; i >= 2; --i)
        out << mat[i][1] << " ";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/210)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/210/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-210/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
