Sunteți pe pagina 1din 2

Nr 1

1. Care dintre următoarele variante reprezintă o declarare corectă a unui


tablou unidimensional având identificatorul mat şi 100 de componente
de tip caracter?
c. char mat[100]; a. mat[100] of char;
d. char[100]; b. char mat[1..100];
2. Care dintre următoarele secvenţe este corectă şi declară o matrice
de 400 de caractere?
C. int a[400]; a. char a[399];
d. char a[20][20]; b. a[20][20]char;
3. Fie a matricea pătratică cu n linii şi n coloane cu elemente numere întregi.
Cu ce instrucţiune trebuie înlocuite punctele de suspensie din secvenţa de
program alăturată, astfel încât aceasta să afişeze suma elementelor de pe
linia x?
s = 0; s += a[i][i];
for(i = 0; i < n; i++) s += a[x][i];
............. s += a[i][x];
cout<<s; s += a[x][i];
4. Pentru o matrice a cu 10 linii şi 10 coloane, stabiliţi ce calculează
secvenţa de program alăturată în variabila s:
s=0; a. suma elementelor situate strict sub
for(i=0;i<10;i++) diagonala secundară
for(j=0;j<9-i;j++) b. suma elementelor situate strict
s=s+a[i][j]; deasupra diagonalei secundare
c. suma elementelor situate strict
deasupra diagonalei principale
d. suma elementelor situate strict sub
diagonala principală
5. Scrieţi un program C++ care construieşte în memorie o matrice
pătrată cu n linii şi n coloane formată astfel:
- elementele aflate pe diagonala principală sunt toate nule.
- elementele de pe linia i (1<=i<=n), aflate deasupra diagonalei principale au
valoarea egală cu i;
- elementele de pe coloana i (1<=i<=n), aflate sub diagonala principală au
valoarea egală cu i.
Valoarea lui n (număr natural, 2<n<50) se citeşte de la tastatură, iar
matricea construită se afişează pe ecran, câte o linie a matricei pe o linie a
ecranului. Între două elemente ale fiecărei linii se va lăsa un spaţiu. De
exemplu, pentru n=4 se va afişa:
0111
1022
1203
1230
Nr 2
1. Cum trebuie declarat tabloul unidimensional x dacă el trebuie să reţină
simultan toate valorile memorate într-o matrice care poate avea
maximum 10 linii şi 10 coloane? Numerele din matrice sunt valori
întregi având cel mult 3 cifre fiecare.
c. int x[20]; a. int x[100];
d. int x[10]; b. int x[99];
2. Care dintre următoarele variante reprezintă o declarare corectă a unui
tablou unidimensional având identificatorul mat şi 100 de componente
de tip caracter?
a. mat[100] of char;
b. char mat[1..100];
c. char mat[100];
d. char[100];
3. Matricea mat are m linii şi n coloane, atât liniile cât şi coloanele sunt
numerotate începând de la 1 , iar c este un număr natural nenul mai
mic sau egal cu n. Care dintre următoarele secvenţe de instrucţiuni
calculează în variabila s suma elementelor coloanei c a matricei
mat?
C. s=0; for(i=0;i<n;i++) a. s=0;
s=s+mat[i][c]; for(i=1;i<=m;i++)

s=s+mat[i][c];
d. s=0; for(i=1;i<=m;i++) b. s=0;
s=s+mat[i][j]; for(i=1;i<=n;i++)

s=s+mat[c][i];
4. Pentru o matrice a cu 10 linii şi 10 coloane numerotate de la 0 la 9, stabiliţi
ce calculează secvenţa de program alăturată în variabila s:

a. suma elementelor situate strict deasupra s=0;


diagonalei principale for(i=0;i<10;i++)
b. suma elementelor situate strict deasupra for(j=i;j<10;j++)
diagonalei secundare s=s+a[i][j];
c. suma elementelor situate deasupra diagonalei
principale, inclusiv diagonala principală
d. suma elementelor situate strict sub diagonala
principală
5.. Scrieţi programul C++ care citeşte de la tastatură un număr natural n
(2<n<30) şi construieşte în memorie o matrice pătratică cu n linii şi n coloane
ale cărei elemente vor primi valori după cum urmează:
elementele aflate pe diagonala secundară a matricei vor primi valoarea n+1
elementele de pe prima linie, cu excepţia celui aflat pe diagonala secundară vor
primi valoarea 1;
elementele de pe a doua linie, cu excepţia celui aflat pe diagonala secundară
vor primi valoarea 2 etc
Programul va afişa matricea astfel construită pe ecran, câte o linie a matricei pe
câte o linie a ecranului, cu spaţii între elementele fiecărei linii (ca în exemplu).
De exemplu pentru n=4 matricea va conţine: 1 1 1 5
2 2 5 2
3 5 3 3
5 4 4 4