Sunteți pe pagina 1din 2

Numele si prenumele: Nr.

1
Clasa:
Data:

Test la informatica – tablouri bidimensionale


1p - oficiu

1. Se considera urmatoarea matrice:


(n = nr. de linii; m = nr. de coloane;
se considera ca liniile si coloanele sunt numerotate incepand cu 0)
Ce se afiseaza in urma executiei fiecarei secvente din urmatoarele:

a) s=0;
for(i=0;i<n;i++)
for(j=1;j<=2;j++)

s+=a[i][j];
cout<<s;
b) nr=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(j<=i)nr++;
cout<<nr;
c) for(i=1;i<=2;i++)
for(j=1;j<=n-1-i;j++)
cout<<a[i][j]<<” “;

2. Care este continutul matricei daca se executa secventa de mai jos si se citeste valoarea 3 ?
(se considera ca liniile si coloanele sunt numerotate incepand cu 0)
1p cin>>n;
for(i=0;i<n;i++)
for(j=0;j<n+1;j++)
if(j%2= =0) a[i][j]=i-11;
else a[i][j]=j+2;
3. În secventa de instructiuni de mai jos, variabilele i si j sunt de tip întreg si se consideră că
variabila A memorează elementele, initial nule, ale unui tablou bidimensional, cu 5 linii si
5 coloane, numerotate de la 0 la 4.
1p Fără a utiliza si alte variabile decât cele mentionate mai sus, scrieti o instructiune care poate înlocui
punctele de suspensie astfel încât, în urma executării secventei, tabloul memorat în variabila A să
aibă elementele din figura de mai jos.
1 2 3 4 5
for(i=0;i<5;i++) 3 4 5 6 7
for(j=0;j<5;j++) 5 6 7 8 9
....... 7 8 9 10 11
9 10 11 12 13

4. Scrieti un program C++ care citeste de la tastatura doua numere naturale n si m reprezentand numarul
de linii respectiv de coloane (n,m<=10), si apoi elementele unei matrice de numere intregi si
4p afiseaza pe ecran matricea citita, suma elementelor negative pare de deasupra diagonalei secundare
din matrice si cel mai mare element de pe conturul matricei.

Numele si prenumele: Nr. 2


Clasa:
Data:
Test la informatica – tablouri bidimensionale
1p - oficiu

1. Se considera urmatoarea matrice:


(n = nr. de linii; m = nr. de coloane;
se considera ca liniile si coloanele sunt numerotate incepand cu 0)
Ce se afiseaza in urma executiei fiecarei secvente din urmatoarele:

a) s=0;
for(i=1;i<3;i++)
for(j=0;j<m;j++)

if(a[i][j]>0)
s=s+a[i][j];
cout<<s;
b) p=1;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(j>i)p=p*a[i][j];
cout<<p;
c) for(i=n-1;i>=0;i--)
cout<<a[i][0]<<endl;

2. Care este continutul matricei daca se executa secventa de mai jos si se citeste valoarea 4?
(se considera ca liniile si coloanele sunt numerotate incepand cu 0)
cin>>n;
for(i=0;i<n+1;i++)
1p for(j=0;j<n;j++)
if((i+j)%2!=0) a[i][j]=i-j;
else a[i][j]=j-i;
3. În secventa de instructiuni de mai jos variabilele i si j sunt de tip întreg si variabila A este de
tip tablou bidimensional cu 5 linii si 5 coloane, numerotate de la 0 la 4, cu elemente numere
întregi.
1p Fără a utiliza alte variabile, scrieti o instructiune care poate înlocui punctele de suspensie
astfel încât, în urma executării secventei obtinute, tabloul memorat în variabila A să aibă
elementele din figura de mai jos. Înainte de executarea secventei toate elementele tabloului
sunt nule.
for(i=0;i<5;i++) 0 -1 -2 -3 -4
for(j=0;j<5;j++) 1 0 -1 -2 -3
.............. 2 1 0 -1 -2
3 2 1 0 -1
4 3 2 1 0
2 1 0

4. Scrieti un program C++ care citeste de la tastatura un numar natural n reprezentand numarul
de linii respectiv de coloane (n<=12), si apoi elementele unei matrice de numere naturale si
4p afiseaza pe monitor matricea citita, produsul elementelor impare de doua cifre din matrice
si noua matrice in care liniile 2 si 3 s-au interschimbat.

S-ar putea să vă placă și