Informatică, întrebare adresată de gfluturas, 8 ani în urmă

Va rog!! E problema 210 de pe pbinfo.
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

Răspunsuri la întrebare

Răspuns de rossetta
5
#include <fstream>
using namespace std;
int a[23][23];

int main() {
  ifstream cin ("chenar.in");
  ofstream cout("chenar.out");
  int n, aij;
  cin >> n ;
  for (int i = 0; i < n ; i++){
      cin >> aij;
      cout << aij << " ";
    }
  for(int i = 1; i < n; i++)
    for (int j = 1; j <= n; j++){
      cin >> a[i][j];
      if(j == n)
        cout << a[i][j]<< " ";
    }
  for (int i = n - 1; i > 1 ; i--)
    cout << a[n - 1][i] << " ";
 for(int i = n - 1; i >=  1; i--)
    for (int j = n - 1; j >= 1; j--){
      if(j == 1)
        cout << a[i][j]<< " ";
    }
         
    return 0;
}

Daca stii vectori de directie, iti prezint si aceasta varianta
Alte întrebări interesante