III.2 testul 1 (antrenament) 2021
Subiectul al III-lea – Exerciţiul 2
| Scrieți un program C/C++ care citește de la tastatură numărul natural n (n∈[ ]) și elementele unui tablou bidimensional cu n linii și n coloane, numere natural din intervalul [ ]. Programul afișează pe ecran, separate prin câte un spațiu, elementele primului pătrat concentric, parcurs în sens invers al acelor de ceasornic, începând din colțul său stânga-sus, ca în exemplu. Primul pătrat concentric este format din prima și ultima linie, prima si ultima coloană a tabloului. Exemplu: pentru n = 5 și tabloul alăturat, se afișează pe ecran numerele 1 2 3 4 5 6 7 8 9 0 2 4 6 8 1 3 |

- variabilă de tip tablou bidimensional, declarată conform cerinței
int a[101][101];
- date citite conform cerinței
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
- parcurgerea liniilor tabloului, afișând doar prima coloană
for(i=1;i<=n;i++)
cout<<a[i][1]<<” „;
- parcurgerea coloanelor tabloului, începând de la a doua coloană deoarece elementul a[1][n] a fost deja afișat în parcurgerea anterioară, afișând ultima linie
for(j=2;j<=n;j++)
cout<<a[n][j]<<” „;
- parcurgerea liniilor tabloului, începând de la penultima linie deoarece elementul a[n][n] a fost deja afișat în parcurgerea anterioară, afișând ultima coloană în ordine inversă
for(i=n-1;i>=1;i–)
cout<<a[i][n]<<” „;
- parcurgerea coloanelor tabloului, începând de la penultima coloană până la cea de-a doua deoarece elementele a[1][n] și a[1][1]au fost deja afișate, afișând prima linie în ordine inversă
for(j=n-1;j>=2;j–)
cout<<a[1][j]<<” „;
#include <iostream>
using namespace std;
int main()
{
int a[101][101],n,i,j;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
cout<<a[i][1]<<" ";
for(j=2;j<=n;j++)
cout<<a[n][j]<<" ";
for(i=n-1;i>=1;i--)
cout<<a[i][n]<<" ";
for(j=n-1;j>=2;j--)
cout<<a[1][j]<<" ";
return 0;
}
