Skip to content

varianta 10 subiectul 3.1 bac 2007

Scrieti  un program care construieste in memorie o matrice patratica de dimensiune n care sa contina, pe prima linie, in ordine crescatoare, numerele de la 1 la n, pe a doua linie, in ordine descrescatoare, numerele de la 2*n la n+1, pe a treia linie, in ordine descrescatoare, numerele de la 2*n+1 la 3*n, etc.Valoarea lui n se citeste de la tastatura, iar matricea se va afisa pe ecran.

De exemplu pentr n=3 avem matricea:

1 2 3

6 5 4

7 8 9

#include<iostream.h>
int n,i,j,k,x,a[31][31];
void f()
{
cin>>n;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i%2==1)
{
a[i][j]=2*k*n+j-a[i-1][1];
}
if(i%2==0)
{
a[i][j]=2*x*n+1-j-a[i-2][1];
}
}
x++; k++;
}
}
void afis()
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<” “;
cout<<endl;
}
}
void main()
{
f();
afis();
}

Leave a Reply

Your email address will not be published. Required fields are marked *