Professional Documents
Culture Documents
5.
v02.
4.
v03.
5.
v04.
5.
v05.
1.
v06.
v07.
5.
d. a[10*5]
1.
Care dintre variantele de mai jos reprezint declararea eficient i corect a unui tablou
bidimensional cu exact 20 de elemente, numere ntregi cu cel mult 4 cifre fiecare?
(4p.)
int
a[2][10];
float
a[40];
b.
a.
c. char a[2][10];
d. int a[40];
5.
v08.
5.
5.
v09.
v10.
int a[5][6];
v11.
Scriei un program C/C++ care citete de la tastatur dou valori naturale nenule m i n
(m10, n10) i apoi m*n numere naturale nenule cu cel mult 4 cifre fiecare, reprezentnd
elementele unei matrice cu m linii i n coloane. Programul determin apoi valorile minime de
pe fiecare linie a matricei i afieaz pe ecran cea mai mare valoare dintre aceste minime.
5.
3 6 5 4 7
(cea mai mic valoare de pe prima linie a matricei este 3, cea mai mic valoare de pe linia a
doua este 6, cea mai mic valoare de pe linia a treia este 2. Cea mai mare dintre aceste trei
valori este 6).
(10p.)
v12.
v13.
v14.
5.
5.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<50) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule;
- elementele de pe linia i (1in), aflate deasupra diagonalei secundare au valoarea egal
cu i;
- elementele de pe coloana n-i+1 (1in), aflate sub diagonala secundar au valoarea
egal cu i.
Programul va afia matricea astfel construit pe ecran, cte o linie a 1 1 1 0
matricei pe o linie a ecranului, elementele fiecrei linii fiind separate 2 2 0 1
3 0 2 1
prin cte un spaiu.
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.) 0 3 2 1
Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<50) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule;
- elementele de pe coloana i (1in), aflate deasupra diagonalei secundare, au valoarea
egal cu i;
- elementele de pe linia n-i+1 (1in), aflate sub diagonala secundar, au valoarea egal
cu i.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 0
pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte 1 2 0 3
1 0 2 2
un spaiu.
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.) 0 1 1 1
Scriei un program C/C++ care citete de la tastatur un numr natural nenul, cu maximum
8 cifre, construiete n memorie i afieaz apoi pe ecran o matrice ptratic, avnd
numrul de linii i de coloane egal cu numrul de cifre ale numrului dat, completat cu
cifrele numrului citit.
Astfel, elementele de pe prima coloan a matricei vor fi toate egale cu
cifra unitilor numrului dat, elementele de pe a doua coloan a
matricei vor fi toate egale cu cifra zecilor numrului dat, i aa mai
departe, ca n exemplu.
Exemplu: dac se citete numrul 1359, matricea construit va fi cea
alturat.
(10p.)
v15.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural cu exact 5 cifre i
construiete n memorie o matrice ptrat cu 6 linii i 6 coloane, numerotate de la 1 la 6,
format astfel:
- elementele aflate pe diagonala principal sunt toate nule;
- elementele de pe linia 1, aflate deasupra diagonalei principale precum i elementele de pe
coloana 1, aflate sub diagonala principal au toate valoarea egal cu cifra unitilor
numrului citit;
- elementele de pe linia 2, aflate deasupra diagonalei principale precum i elementele de pe
coloana 2, aflate sub diagonala principal au toate valoarea egal cu cifra zecilor numrului
citit, i aa mai departe, ca n exemplu.
0 1 1 1 1 1
Matricea astfel construit va fi afiat pe ecran, cte o linie a
1 0 3 3 3 3
matricei pe cte o linie a ecranului, elementele de pe aceeai
1 3 0 7 7 7
linie fiind separate prin cte un spaiu.
Exemplu: dac se citete numrul 28731 matricea construit va 1 3 7 0 8 8
1 3 7 8 0 2
fi cea scris alturat.
(10p.)
1 3 7 8 2 0
v16.
5.
v17.
5.
v18.
5.
v19.
5.
v20.
5.
v21.
v22.
5.
a. p=p*a[21-i][i]*a[i][21-i];
b. p=p*a[i][i]*a[i][20-i];
c. p=p*a[i][i]*a[21-i][21-i];
d. p=p*a[21-i][21-i]*a[i][21-i];
Scriei un program C/C++ care citete de la tastatur numerele naturale m i n din intervalul
[1,100], apoi construiete n memorie i afieaz pe ecran un tablou bidimensional cu m
linii i n coloane astfel nct prin parcurgerea acestuia linie cu linie de sus n jos i fiecare
linie de la stnga la dreapta, se obin n ordine descresctoare toate numerele naturale de
la 1 la m*n, ca n exemplu.
Fiecare linie a tabloului este afiat pe cte o linie a ecranului, elementele 12 11 10
aceleiai linii fiind separate prin cte un spaiu.
9 8 7
Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat.
(10p.)
6 5 4
3 2 1
v23.
5.
v24.
4.
v25.
5.
v26.
v27.
5.
v28. 3. ntr-un tablou bidimensional A, cu n linii i n coloane, notm cu Aij elementul aflat pe linia i i
coloana j (1in, 1jn). Care este valoarea expresiei j-i dac elementul Aij este situat
pe diagonala principal a tabloului A?
(4p.)
v29.
v30.
v31.
v32.
v33.
5.
5.
(10p.)
4.
4.
4.
for(j=1;j<=6;j++)
for(i=3;i>=1;i--)
a[i][j]=i+j
x=2;
for(j=1;j<=5;j++)
for(i=1;i<=3;i++)
{ a[j][i]=x;
x=x+1;
}
5.
5.
v34.
v35.
v36.
5.
5.
4.
Considerm declaraiile:
int i,j,a[10][10];
Ce se va afia dup
executarea
secvenei
de
instruciuni alturate?
(6p.)
v38.
v39.
for(i=1;i<=3;i++)
for(j=1;j<=3;j++) a[i][j]=i+j;
for(i=1;i<=3;i++){
for(j=1;j<=3;j++)
cout<<a[i][j]; | printf(%d,a[i][j]);
cout<<endl; | printf(\n);
}
4.
for(i=1;i<=3;i++)
Considerm declaraiile:
for(j=1;j<=3;j++)
int i,j,a[10][10];
if(i<j)a[i][j]=i;
Ce se va afia dup executarea
else a[i][j]=j;
secvenei de instruciuni alturate?
for(i=1;i<=3;i++){
(6p.)
for(j=1;j<=3;j++)
cout<<a[i][j]; | printf(%d,a[i][j]);
cout<<endl; | printf(\n);
}
5.
4.
v43.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane astfel nct elementele situate pe
diagonala principal sa fie egale cu 2, cele situate deasupra diagonalei principale s fie
egale cu 1, iar cele situate sub diagonala principal s fie egale 3.
2 1 1 1
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a
3 2 1 1
ecranului, cu cte un spaiu ntre elementele fiecrei linii.
3 3 2 1
Exemplu: dac n este 4 atunci programul va construi i va afia
3 3 3 2
matricea alturat.
(10p.)
v44.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane, format din numere naturale
nenule, mai mici sau egale cu n, astfel nct s nu existe dou linii cu aceeai sum a
elementelor i nici dou coloane cu aceeai sum a elementelor.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a ecranului, cu un
spaiu ntre elementele fiecrei linii.
Exemplu: dac n=3 atunci o soluie posibil este urmtoarea matrice:
1 1 1
1 1 2
1 2 3
(10p.)
v45.
4.
v40.
v41.
v42.
2
3
4
5
3
4
5
6
4
5
6
7
5
6
7
8
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
a[i][j]=j%i+i%j;
for(i=1;i<=4;i++)
for(j=1;j<=5;j++)
a[i][j]=i-j;
v46.
2.
v47. 5.
v48.
5.
v49. 2.
2 4 6 8
Scriei un program C/C++ care citete de la tastatur un numr
10
12 14 16
natural n (2<n<10) i care construiete n memorie i afieaz pe
18
20 22 24
ecran un tablou bidimensional cu n linii i n coloane astfel nct,
26
28 30 32
parcurgndu-l linie cu linie de sus n jos i fiecare linie de la stnga
2
la dreapta, se obin primele n numere pare nenule, n ordine strict
cresctoare, ca n exemplu.
Exemplu: pentru n=4, se construiete i se afieaz tabloul
alturat.
(10p.)
Fiind dat un tablou bidimensional cu 20 linii i 20 coloane, cte elemente se gsesc strict
deasupra diagonalei secundare a tabloului?
(4p.)
a. 180
v50.
v51.
b. 200
c. 190
d. 210
4.
3.
1
16
15
14
13
2
17
24
23
12
3
18
25
22
11
4
19
20
21
10
x=5;
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
{a[i][j]=x;
x=x+1;
}
5
6
7
8
9
3.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural par, n (4n10), i
un numr natural x, cu exact 3 cifre, i care construiete n memorie un tablou
bidimensional cu n linii i n coloane, ce are elementele de pe diagonala principal egale cu
prima cifr a numrului x, elementele de pe diagonala secundar egale cu ultima cifr a
numrului x, iar restul elementelor egale cu cifra din mijloc a numrului x.
Tabloul bidimensional se va afia pe ecran, cte o linie a tabloului pe cte o 1 2 2 3
2 1 3 2
linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: dac se citesc de la tastatur n=4 i x=123 atunci se afieaz 2 3 1 2
tabloul alturat.
(10p.) 3 2 2 1
3.
v52.
v53.
v54.
v55.
int i,aux,a[10][10];
Ce valori se afieaz n urma executrii
secvenei alturate dac liniile i
coloanele tabloului bidimensional sunt
numerotate de la 0 la 9 i iniial fiecare
linie a tabloului conine, de la stnga la
dreapta, n ordine descresctoare, toate
numerele naturale, de la 10 la 1?
(6p.)
v56.
x=5;
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
if(i==j)
{a[i][j]=x;
x++;}
3.
5.
for (i=0;i<=8;i++)
if( a[i][9-i]<a[i+1][8-i])
{aux=a[i][9-i];
a[i][9-i]=a[i+1][8-i];
a[i+1][8-i]=aux;}
cout<<a[0][9]<< <<a[9][0];
| printf(%d %d,a[0][9],a[9][0]);
5.
4.
4.
4.
5.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n50, 1m50) i costruiete n memorie un tablou bidimensional cu n linii i m coloane
format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe
ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu.
v57.
v58.
v59.
v60.
v61.
v63.
1
2
6
7
11 16
12 17
3 8 13 18
4 9 14 19
5 10 15 20
(10p.)
v65.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n50, 1m50) i construiete n memorie un tablou bidimensional cu n linii i m coloane
format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe
ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 i m=5 se va afia:
1
10
2
9
3
8
4
7
5
6
(10p.)
11 12 13 14 15
20 19 18 17 16
5.
5.
5.
3.
v68.
v69.
v70.
v71.
5.
v72.
1
2
4
7
3
5
8
4
6
9
5
2
10
6
3
1
4.
5.
Se consider irul lui Fibonacci, definit astfel: f0 = 0, f1 = 1, fn = fn-1 + fn-2, dac n>1.
Scriei un program C/C++ care citete de la tastatur o valoare natural n (2n50),
construiete n memorie i afieaz pe ecran o matrice a cu n linii i n coloane ale crei
elemente sunt numere naturale, fiecare reprezentnd ultima cifr a cte unui termen al
irului lui Fibonacci, ncepnd de la termenul de indice 1 i pn la termenul de indice n2, n
ordine, linie cu linie de sus n jos, i n cadrul fiecrei linii de la stnga la dreapta, ca n
exemplu.
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a 1 1 2 3
ecranului, elementele de pe aceeai linie fiind separate ntre ele prin 5 8 3 1
4 5 9 4
cte un spaiu.
Exemplu: pentru n = 4 se va obine matricea alturat.
(10p.) 3 7 0 7
5.
v73.
v74.
v75.
n(n + 1)
.
2
v76.
1.
1.
v77.
1.
v78.
1.
v79.
1.
v80.
z=0;
for(i=0;i<8;i++)
for(j=8-i;j<8;j++)
z=z+t[i][j];
5.
v81.
5.
Scriei un program C/C++ care citete de la tastatur trei valori naturale nenule k, n, m
(n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre,
reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i
coloanele numerotate de la 1 la m.
2
4
5 -8
Programul determin i afieaz pe ecran produsul numerelor de
5
3
7
9
ordine ale coloanelor care conin cel puin o dat valoarea k.
6 -2
3 10
Problema are ntotdeauna soluie.
7
4
2
37
Exemplu: pentru k=3, n=5, m=4 i matricea alturat se va afia
8
7
3
13
6, deoarece coloanele 2 i 3 conin numrul k=3.
(10p.)
4.
4.
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (1n10) apoi
construiete n memorie o matrice cu 2*n linii i 2*n coloane, numerotate de la 1 la 2*n,
astfel nct parcurgnd doar liniile impare ale matricei de sus n jos i fiecare linie impar de
la stnga la dreapta se obin n ordine strict cresctoare toate numerele impare cuprinse n
intervalul [1,4*n2], iar parcurgnd doar liniile pare ale matricei de sus n jos i fiecare linie
par de la dreapta la stnga se obin n ordine strict cresctoare toate numerele pare
cuprinse n intervalul [1,4*n2], ca n exemplu.
Programul afieaz pe ecran matricea obinut, cte o linie a matricei
1 3 5 7
pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin
8 6 4 2
cte un spaiu.
9 11 13 15
Exemplu: pentru n=2 se obine matricea alturat.
(10p.) 16 14 12 10
v82.
v83.
v84.
v85.
v86.
Scriei un program C/C++ care citete de la tastatur trei valori naturale nenule k, n, m
(n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre,
reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i
coloanele numerotate de la 1 la m.
Programul determin i afieaz pe ecran suma numerelor de ordine 2 4 5 -8
ale coloanelor care conin cel puin o dat valoarea k. Problema are 1 3 7 9
4 -2 3 10
ntotdeauna soluie.
Exemplu:pentru k=3,n=5,m=4 i matricea alturat se va afia 5, 5 4 2 37
6 7 3 13
deoarece coloanele 2 i 3 conin numrul k=3.
(10p.)
5.
v87.
v88.
5.
5.
v89.
5.
v90.
2 0
1 -3
v91.
3.
5.
v92.
14 6 3
9 22 5
2 7 1 4
14 6 12 3
9 22 8 5
n secvena alturat, i, j i n sunt variabile ntregi, iar a
este o matrice ptratic format din n linii i n coloane
numerotate de la 0 la n-1. Care este suma elementelor
de pe diagonala secundar din matricea a, n urma
executrii acestei secvene, dac n=8?
(4p.)
a. 8
b. 64
c. 24
2.
v95.
v96.
2.
a. 24
5.
v97.
for(j=1;j<=10;j++)
A[j][8]=0;
b. 64
c. 56
d. 56
d. 8
5.
Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i
construiete n memorie o matrice cu n linii i n coloane care s conin primele n2 numere
naturale pare. Prima linie a matricei va conine, n ordine cresctoare, valorile 0, 2,.., 2n-2;
a doua linie va conine, n ordine, valorile 2n, 2n+2,.., 4n-2; a treia linie va conine, n
ordine, valorile 4n, 4n+2,.., 6n-2, iar ultima linie va conine, n ordine, valorile 2n2-2n,
2n2-2n+2,.., 2n2-2.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 0 2 4
pe cte o linie a ecranului, elementele de pe aceeai linie fiind desprite 6 8 10
12 14 16
prin cte un spaiu.
Exemplu: pentru n=3 se va afia matricea alturat.
(10p.)
5.
Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i
construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin
primele n numere naturale nenule. Prima linie a tabloului va conine, n aceast ordine,
valorile 1,2,...,n; a doua linie va conine, n ordine, valorile 2,2,3,...,n; a treia linie
va conine, n ordine, valorile 3,3,3,4,...,n, iar ultima linie va conine valorile n,
n,..., n.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 4 5
pe cte o linie a ecranului, elementele fiecrei linii fiind desprite prin 2 2 3 4 5
3 3 3 4 5
cte un spaiu.
Exemplu: pentru n=5 se va afia matricea alturat.
(10p.) 4 4 4 4 5
5 5 5 5 5
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (1n100)i apoi
elementele unui tablou bidimensional cu n linii i n coloane, care memoreaz numere
naturale cu cel mult 9 cifre fiecare; programul afieaz pe ecran acele valori din tablou care
sunt strict mai mici dect toate elementele cu care se nvecineaz direct (aflate pe aceeai
linie dar pe o coloan alturat sau pe aceeai coloan dar pe o linie alturat), ca n
exemplu. Numerele afiate vor fi separate prin cte un spaiu.
Exemplu: pentru n=4 i tabloul alturat se afieaz numerele: 2 0 (2 se 5 4 7 9
nvecineaz direct cu 4, 3, 6 i 9, i este mai mic dect acestea, iar 0 se 6 2 3 4
nvecineaz direct cu 6, 9 i 1 i este mai mic dect acestea).
(10p.) 0 9 8 5
1 3 8 6
v98.
v99.
v100.