Sunteți pe pagina 1din 20

Matrice

Variante 2009

BAC 2009 Matrice


1.Scriei un program C/C++care citete de la tastatur dou numere naturale nenule n i m (2m10,
2n10) i care construiete n memorie i apoi afieaz o matrice Acu nlinii (numerotate de la 1la n)
i mcoloane (numerotate de la 1la m) cu proprietatea c fiecare element Aij memoreaz cea mai mic
dintre valorile indicilor i i j (1in, 1jm). Matricea se va afia pe ecran, cte o linie a matricei pe
cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4i m=5se va afia matricea alturat.
11111
12222
12333
12344
2.n secvena de program alturat, variabila amemoreaz o matrice cu nlinii i ncoloane (numerotate
de la 0la n1) cu elemente numere ntregi, iar toate celelalte variabile sunt ntregi. tiind c neste un
numr natural nenul i c pe fiecare linie a matricei se afl cel puin un element nenul, scriei instruciunile
care pot nlocui punctele de suspensie din secvena de program alturat astfel nct, n urma executrii
acesteia, s se afieze ultima cifr a produsului elementelor nenule de pe linia k(0k<n) a matricei a.
p=1;
for(j=0;j<n;j++)
.............
cout<<p;
3.Scriei un program C/C++care citete de la tastatur un numr natural n(2n24) i construiete n
memorie o matrice cu nlinii i ncoloane ale crei elemente vor primi valori dup cum urmeaz:
- elementele aflate pe diagonala principal a matricei vor primi valoarea 0
- elementele de pe prima coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea n
- elementele de pe a doua coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea n1
...
elementele de pe ultima coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei pe cte o linie a ecranului, cu
cte un spaiu ntre elementele fiecrei linii (ca n exemplu).
Exemplu: pentru n=4se va afia matricea alturat.
0321
4021
4301
4320
4.Scriei un program C/C++care citete de la tastatur un numr natural n(2n24) i construiete n
memorie o matrice cu nlinii i ncoloane ale crei elemente vor primi valori dup cum urmeaz:
- elementele aflate pe diagonala secundar a matricei vor primi valoarea 0
- elementele de pe prima linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea n
- elementele de pe a doua linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea n1
...
- elementele de pe ultima linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei pe cte o linie a ecranului, cu
cte un spaiu ntre elementele fiecrei linii (ca n exemplu).
Exemplu: pentru n=4se va afia matricea alturat.
4440
3303
2022

Matrice

Variante 2009

0111
5.Scriei un program C/C++care citete de la tastatur dou numere naturale ni m(2m10, 2n10)
i care construiete n memorie i apoi afieaz o matrice A cu n linii (numerotate de la 1 la n) i m
coloane (numerotate de la 1la m) cu proprietatea c fiecare element Aijmemoreaz cea mai mare dintre
valorile indicilor ii j(1in, 1jm). Matricea se va afia pe ecran, cte o linie a matricei pe cte o
linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. (10p.)
Exemplu: pentru n=4i m=5se va afia matricea alturat.
12345
22345
33345
44445
6.n secvena alturat se consider c variabila a memoreaz un tablou bidimensional cu n linii i n
coloane, numerotate de la 0la n1, iar toate celelalte variabile sunt ntregi. Ce valoare se va afia n urma
executrii secvenei, dac n=4, iar tabloul are coninutul de mai jos?
1234
5678
9123
4567
p=0;u=n1;s=0;
while(p<=u)
{
s=s+a[p][p]+a[u][u];
p=p+1;u=u1;
}
cout<<s;
7.Scriei un program C/C++care citete de la tastatur dou numere naturale ni p(2n15, 1p15)
i construiete n memorie un tablou bidimensional cu n linii i p coloane. Tabloul va fi construit astfel
nct, parcurgnd tabloul linie cu linie de sus n jos i fiecare linie de la stnga la dreapta, s se obin irul
primelor n*pptrate perfecte impare, ordonat strict cresctor, ca n exemplu. Tabloul astfel construit va fi
afiat pe ecran, fiecare linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre elementele
fiecrei linii.
Exemplu: pentru n=2, p=3programul va afia tabloul alturat:
1925
4981121
8.Se consider tabloul bidimensional cu nlinii i ncoloane ce conine numere naturale cu cel mult patru
cifre fiecare. Scriei programul C/C++care citete de la tastatur numrul natural n(2n23) i cele n*n
elemente ale tabloului i apoi afieaz pe ecran elementele primului ptrat concentric, separate prin cte
un spaiu. Ptratul este parcurs n sensul acelor de ceasornic ncepnd din colul su stnga-sus, ca n
exemplu. Primul ptrat concentric este format din prima i ultima linie, prima i ultima coloan a tabloului.
Exemplu: pentru n=5i tabloul alturat, se va
afia:
1234516276543726
12345
67891
23456
78912
34567

Matrice

Variante 2009

9.Scriei un program C/C++care citete de la tastatur dou numere naturale ni p(2n15, 1p15)
i construiete n memorie un tablou bidimensional cu n linii i p coloane. Tabloul va fi construit astfel
nct parcurgnd matricea de la prima linie ctre ultima i fiecare linie de la stnga la dreapta s se obin
irul primelor n*p ptrate perfecte pare ordonat strict cresctor. Tabloul astfel construit va fi afiat pe
ecran, fiecare linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=2, p=3programul va afia tabloul alturat:
0416
3664100
10.Scriei un program C/C++care citete de la tastatur dou valori naturale nenule mi n(m10, n10)
i apoi m*nnumere naturale nenule cu cel mult 4cifre fiecare, reprezentnd elementele unei matrice cu m
linii i ncoloane. Programul determin apoi valorile minime de pe fiecare linie a matricei i le afieaz pe o
linie a ecranului separate prin cte un spaiu.
Exemplu: pentru m=3, n=5i matricea
36547
9612910
513723

se afieaz pe ecran valorile 362(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).
11.Scriei un program C/C++care citete de la tastatur un numr natural n(2<n<25) i apoi construiete
n memorie o matrice cu nlinii i ncoloane, numerotate de la 1la n, ale crei elemente primesc valori
dup cum urmeaz: elementul din linia ii coloana jprimete ca valoare ultima cifr a produsului i*j
(1ini 1jn). Programul va afia matricea astfel construit pe ecran, cte o linie a matricei pe o linie
a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4se va afia matricea alturat.
1234
2468
3692
4826
12.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<40) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotare de la 1 la n, ale crei elemente
primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule;
- elementele aflate deasupra diagonalei secundare sunt toate 1;
- elementele aflate sub diagonala secundar sunt toate 2. Programul afieaz pe ecran matricea
construit, cte o linie a matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte
un spaiu.
Exemplu: pentru n=4se va afia matricea alturat.
1110
1102
1022
0222
13.Scriei un program C/C++care citete de la tastatur un numr natural nenul cu exact 4
cifre, construiete n memorie i afieaz apoi pe ecran o matrice avnd 4linii i 4coloane, completat
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, elementele de
pe a treia coloan a matricei vor fi toate egale cu cifra sutelor numrului dat, iar elementele de pe a patra

Matrice

Variante 2009

coloan a matricei vor fi toate egale cu cifra miilor numrului dat. Matricea va fi afiat pe ecran, cte o linie
a matricei pe cte o linie a ecranului, iar elementele fiecrei linii vor fi separate prin cte un spaiu.
Exemplu: dac se citete numrul 1359, matricea construit va fi cea alturat.

14.Scriei un program C/C++care citete de la tastatur un numr natural cu exact 5cifre i construiete
n memorie o matrice cu 5linii i 5coloane, numerotate de la 1la 5, format astfel:
- elementele de pe linia 1, au toate valoarea egal cu cifra unitilor numrului citit;
- elementele de pe linia 2, au toate valoarea egal cu cifra zecilor numrului citit;
- elementele de pe linia 3, au toate valoarea egal cu cifra sutelor;
- elementele de pe linia 4, au toate valoarea egal cu cifra miilor;
- elementele de pe linia 5, au toate valoarea egal cu cifra zecilor de mii.
Programul afieaz pe ecran matricea astfel construit, cte o linie a matricei pe cte o linie a ecranului,
elementele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: dac se citete numrul 28731matricea construit va fi cea alturat.
11111
33333
77777
88888
22222
15.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<16), construiete n
memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care elementele de pe cele dou
diagonale sunt egale cu 4, iar restul elementelor sunt egale cu 3. Elementele matricei vor fi afiate pe
ecran, cte o linie a matricei pe cte o linie a
ecranului cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=5se va afia matricea alturat.
43334
34343
33433
34343
43334
16.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete n
memorie i afieaz pe ecran o matrice cu nlinii i ncoloane, n care fiecare element de pe diagonala
secundar are valoarea n, fiecare element aflat deasupra diagonalei secundare este mai mic cu o unitate
dect vecinul aflat pe aceeai linie n dreapta lui i fiecare element aflat sub diagonala secundar este mai
mare cu o unitate dect vecinul aflat pe aceeai linie n stnga lui. Elementele matricei vor fi afiate pe
ecran, cte o linie a matricei pe cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=5se va afia matricea alturat.
12345
23456
34567
45678
56789
17.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete n
memorie i afieaz pe ecran o matrice cu nlinii i ncoloane, numerotate de la 1la n. Fiecare element
din matrice aflat pe o linie impar va fi egal cu numrul liniei pe care se afl i fiecare element aflat pe o
linie par va fi egal cu numrul coloanei pe care se afl. Elementele matricei vor fi afiate pe ecran, cte o
linie a matricei pe cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii.

Matrice

Variante 2009

Exemplu: pentru n=5se va afia matricea alturat.


11111
12345
33333
12345
55555
18.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete n
memorie i afieaz pe ecran o matrice cu nlinii i ncoloane, numerotate de la 1la n, n care fiecare
element aflat pe o coloana impar este egal cu suma dintre numrul liniei i numrul coloanei pe care se
afl i fiecare element aflat pe o coloan par este egal cu numrul liniei pe care se afl. Elementele
matricei vor fi afiate pe ecran, cte o linie a matricei pe cte o linie a ecranului cu cte un spaiu ntre
elementele fiecrei linii.
Exemplu: pentru n=5se va afia matricea alturat.
21416
32527
43638
54749
658510
19.Scriei un program C/C++care citete de la tastatur un numr natural n(2<n<10), construiete n
memorie i afieaz pe ecran o matrice cu nlinii i ncoloane, numerotate de la 1la n, n care fiecare
element aflat pe prima linie sau pe prima coloan din matrice este egal cu suma dintre numrul liniei i
numrul coloanei pe care se afl, iar fiecare dintre celelalte elemente este egal cu suma dintre elementul
vecin aflat pe aceeai linie cu el, dar pe coloana din stnga sa i elementul vecin aflat pe aceeai coloan
cu el, dar pe linia de deasupra sa. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe cte
o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=5se va obine matricea alturat.
23456
36101521
410203556
5153570126
62156126252

20.Scriei un program C/C++care citete de la tastatur numerele naturale mi ndin intervalul [1,20],
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 1la m*n, ca n exemplu. Fiecare linie a tabloului este
afiat pe cte o linie a ecranului, elementele aceleiai linii fiind separate prin cte un spaiu.
Exemplu: pentru m=4i n=3se va construi i afia tabloul alturat.
121110
987
654
321
21.Un tablou bidimensional Acu mlinii i ncoloane (1m100, 1n100) conine pe prima linie numerele
1,2,...,n, iar pe prima coloan numerele 1,2,...,m. Celelalte elemente ale tabloului sunt date de
relaia: Ai,j=Ai1,j+Ai,j1. Scriei un program C/C++ care citete de la tastatur numerele m i n i
afieaz pe ecran ultima cifr a elementului de pe ultima linie i ultima coloan a tabloului.
Exemplu: pentru m=3i n=4se va afia 5deoarece elementele tabloului Asunt:
1234
24711
371425

Matrice

Variante 2009

22.Se consider un tablou bidimensional cu mlinii i ncoloane (1m100,1n100), ale crui elemente
aparin mulimii {0,1,2}. Scriei un program C/C++ citete de la tastatur valorile m, n i elementele
tabloului i care afieaz pe ecran numerele de ordine ale coloanelor pentru care produsul elementelor
situate pe ele este maxim. Liniile i coloanele tabloului se numeroteaz de la 1la mrespectiv de la 1la n.
Numerele se vor afia separate prin cte un spaiu.
Exemplu: pentru m=4i n=4i tabloul alturat se va afia, nu neaprat n aceast ordine: 12
2110
1111
2221
1211
23.Scriei un program C/C++care citete de la tastatur un numr natural n(2n9) i elementele unui
tablou bidimensional A cu n linii i n coloane, care memoreaz numere naturale mai mici dect 10, i
afieaz pe ecran pentru fiecare coloan, produsul elementelor de pe acea coloan. Valorile afiate vor fi
separate prin cte un spaiu.
Exemplu: pentru matricea din figura alturat se afieaz, nu neaprat n aceast ordine, valorile 024
2012
24.Scriei un program C/C++care citete de la tastatur un numr natural n(2<n<=10) i construiete n
memorie o matrice A cu n linii i n coloane n care toate elementele de pe prima linie, prima i ultima
coloan au valoarea 1i oricare alt element Aij din matrice este egal cu suma a 3elemente situate pe
linia i1: primul aflat pe coloana j1, al doilea pe coloana j, iar al treilea pe coloana j+1, ca n exemplu.
Matricea va fi afiat pe ecran, linie cu linie, numerele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: pentru n=5, se afieaz matricea alturat.

25.ntr-un tablou bidimensional Acu nlinii i ncoloane, numerotate de la 1la n, notm cu Aijelementul
aflat pe linia ii coloana j(1in, 1jn). Care este valoarea expresiei jidac elementul Aijeste
situat pe diagonala principal a tabloului A?
26.Scriei un program C/C++care citete de la tastatur un numr natural n(1n6) i elementele unui
tablou bidimensional Acu nlinii i ncoloane, care memoreaz numere naturale nenule mai mici dect
100, i afieaz pe ecran produsul numerelor pivot pentru matricea A. Un numr natural xeste pivot
pentru matricea Adac nmulind fiecare element de pe prima coloan cu numrul x, se obin, n aceeai
ordine, elementele unei alte coloane din matrice.
Exemplu: pentru matricea din figura alturat se afieaz 8.

27.Scriei un program C/C++care citete de la tastatur un numr natural n(2<n<=15) i construiete n


memorie o matrice A cu n linii i n coloane n care orice element aflat pe prima linie sau pe prima
coloan are valoarea 1 i oricare alt element Aij din matrice este egal cu suma a dou elemente din

Matrice

Variante 2009

matrice, primul aflat pe linia i i pe coloana j1 iar cel de-al doilea pe coloana j i pe linia i1.
Matricea va fi afiat pe ecran, linie cu linie, numerele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: pentru n=4, se obine matricea alturat.

28.Scriei un program C/C++ care construiete n memorie o matrice cu 10 linii i 7 coloane ale crei
elemente sunt numere ntregi (cu maximum 3 cifre fiecare), citite de la tastatur, i afieaz pe ecran,
suma tuturor elementelor situate pe conturul matricei determinat de prima i ultima linie respectiv prima i
ultima coloan a acestei matrice.
29.n secvena alturat, variabilele i, jsunt de tip ntreg, iar variabila amemoreaz o matrice n care
prima linie i prima coloan sunt numerotate cu 1. Toate elementele matricei primesc valori n urma
executrii secvenei. Scriei n ordine, ncepnd cu prima coloan, elementele situate pe fiecare linie a
matricei care se va construi n urma executrii secvenei alturate de program
for(j=1;j<=5;j++)
for(i=1;i<=3;i++)
a[i][j]=10j;
30.n secvena alturat, variabilele i, ji xsunt de tip ntreg, iar variabila amemoreaz o matrice n
care prima linie i prima coloan sunt numerotate cu 1. Toate elementele matricei primesc valori n urma
executrii secvenei. Scriei n ordine, ncepnd cu prima coloan, elementele situate pe fiecare linie a
matricei care se va construi n urma executrii secvenei alturate.
x=2;
for(j=1;j<=5;j++)
for(i=1;i<=3;i++)
{
a[j][i]=x;
x=x+1;
}
31.Scriei programul C/C++ care citete de la tastatur un numr natural n (n20), construiete n
memorie i afieaz pe ecran, matricea cu n linii i n coloane, n care se vor memora n ordinea strict
cresctoare a valorii, pe linii i coloane, primele n2numere naturale nenule, pare, care nu sunt divizibile cu
3. Fiecare linie a matricei se va afia pe cte o linie a ecranului, cu elementele de pe aceeai linie separate
prin cte un spaiu.
Exemplu: pentru n=4se va construi i afia matricea alturat.
24810
14162022
26283234
38404446
32.Scriei programul C/C++ care citete de la tastatur un numr natural n (n50) i construiete n
memorie o matrice cu n linii i n coloane, ale crei elemente sunt numere ntregi citite de la tastatur.
Pentru fiecare coloan a matricei, n ordine, programul afieaz pe ecran cel mai mic numr de pe
respectiva coloan. Numerele afiate vor fi separate prin cte un spaiu.
Exemplu: pt. n=4i matricea alturat, se vor afia pe ecran valorile: 718102.
122103510
718102
107999594

Matrice

Variante 2009

12001007

33.Se consider o matrice cu nlinii i mcoloane (1n30, 1m30), ce memoreaz numere ntregi de cel mult
4cifre fiecare. Scriei un program C/C++care citete de la tastatur valorile n, mi elementele matricei i care
afieaz pe ecran, separate prin cte un spaiu, valorile minime de pe fiecare coloan, n ordine de la ultima la
prima coloan.
Exemplu: pentru n=4,m=4i matricea alturat se vor afia pe ecran valorile
3723.
349010
25279
183104
37203

34.Se consider o matrice ptratic cu nlinii i ncoloane (1n30), ce memoreaz numere ntregi nenule
de cel mult dou cifre fiecare. Scriei un program C/C++ care citete de la tastatur valoarea n i
elementele matricei i care afieaz pe ecran ultima cifr a produsului acelor elemente de pe diagonala
secundar care au proprietatea c sunt valori minime pe coloanele lor. Dac nu exist astfel de elemente
n matrice, se va afia mesajul NUEXISTA.
Exemplu: pentru n=4i matricea alturat se va afia pe ecran valoarea 1(3*7=21).

35.Considerm declaraiile: int i,j,a[10][10]; Ce se va afia dup executarea secvenei de


instruciuni alturate?
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];
cout<<endl;
}
Considerm declarrile:
inti,j,a[10][10];
Ce se va afia dup executarea secvenei de instruciuni alturate?
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
if(i<j)
a[i][j]=i;
else
a[i][j]=j;
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
cout<<a[i][j];
cout<<endl;
}
36.Scriei un program C/C++ care citete de la tastatur un numr natural n(1n23) i apoi construiete
n memorie o matrice cu nlinii i ncoloane, numerotate de la 1la n, astfel nct fiecare element situat pe
o linie I(1in) i pe o coloan j(1jn) va fi egal cu suma dintre ii j. Programul va afia matricea

Matrice

Variante 2009

pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele de pe aceeai linie fiind separate
prin cte un spaiu.
Exemplu: dac n=4, se va afia matricea alturat.
2345
3456
4567
5678
Variabila amemoreaz un tablou bidimensional cu 5linii si 5coloane, numerotate de la 1la 5, ale crui
elemente sunt numere ntregi. Care este cel mai mare element situat pe diagonala principal a tabloului
construit n urma executrii secvenei de program alturate ?
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
a[i][j]=j;
37.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 cu 3. Programul va afia matricea pe ecran, cte o linie a matricei pe
o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: dac neste 4atunci programul va construi i va afia matricea alturat:
2111
3211
3321
3332
38.Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu nlinii si ncoloane, 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=3atunci o soluie posibil este urmtoarea matrice:
111
112
123
Variabila amemoreaz elementele numere ntregi ale unui tablou bidimensional cu 3linii i 3coloane.
Care este suma elementelor aflate pe diagonala secundar a tabloului construit n urma executrii
secvenei de program alturate ?
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
a[i][j]=j;
39.n secvena alturat, variabila vmemoreaz elementele unei matrice cu liniile i coloanele numerotate
de la 1la n, iar toate celelalte variabile sunt ntregi. Dac 1k<n, atunci executarea secvenei determin:
for(i=k+1;i<=n;i++)
for(j=1;j<=n;j++)
v[i1][j]=v[i][j];
n=n1;
a. eliminarea liniei kdin matrice
b. adugarea liniei kn matrice
c. eliminarea coloanei kdin matrice
d. adugarea coloanei kn matrice
40.Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule m i n (m10,
n10) i cele m*nelemente (numere naturale mai mici dect 100) ale unui tablou bidimensional cu mlinii,
numerotate de la 1 la m, i n coloane, numerotate de la 1 la n; programul construiete n memorie i
afieaz pe ecran tabloul dup eliminarea liniilor de rang impar.

Matrice

Variante 2009

Exemplu: pentru m=4i n=3i tabloul:


212223
242526
272829
303132
Sevaafiatabloul:
242526
303132
41.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<10) i care
construiete n memorie i afieaz pe ecran un tablou bidimensional cu nlinii i ncoloane astfel nct
parcurgndu-l linie cu linie de sus n jos i fiecare linie de la stnga la dreapta se obin primele n2numere
pare nenule n ordine strict cresctoare, ca n exemplu.
Exemplu: pentru n=4, se construiete i se afieaz tabloul alturat.
2468
10121416
18202224
26283032
Fiind dat un tablou bidimensional cu 20 linii i 20 coloane, cte elemente se gsesc strict deasupra
diagonalei secundare a tabloului?
a. 180b. 200c. 190d. 210
42.Elementele tabloului bidimensional din figura alturat, cu 4 linii i 4 coloane, sunt toate numerele
naturale cuprinse ntre 1 i 16 aezate n spiral, ncepnd cu primul element al primei linii i continund n
sens invers trigonometric ca n figur. Care este cel mai mare numr situat n zona triunghiular de sub
diagonala secundar (exclusiv diagonala secundar), n cazul unui tablou bidimensional cu 5 linii i 5
coloane generat dup aceeai regul?
1234
1213145
1116156
10987
a. 16b. 15c. 25d. 22
43.n secvena alturat, variabila a memoreaz elementele unui tablou bidimensional cu 4 linii
(numerotate de la 0la 3) i 4coloane (numerotate de la 0la 3), iar toate celelalte variabile sunt de tip
ntreg. Dup executarea secvenei de instruciuni scris alturat
x=1;
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
{
if(i==j)
a[i][j]=2*x;
else
a[i][j]=x;
x=x+1;
}
a) ce valoare va avea elementul a[1][3]?
b) care este suma elementelor de pe diagonala principal a acestui tablou?
44.n secvena alturat, variabila a memoreaz elementele unui tablou bidimensional cu 4 linii
(numerotate de la 0la 3) i 4coloane (numerotate de la 0la 3), iar toate celelalte variabile sunt de tip
ntreg. Ce valoare va avea elementul a[3][3] i care este suma elementelor de pe prima linie a tabloului
dup executarea secvenei de instruciuni scris alturat?

10

Matrice

Variante 2009

x=1;
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
{
if(i==j)
a[i][j]=x;
else
a[i][j]=i+1;
x=x+1;
}
45.Scriei un program C/C++care citete de la tastatur 4numere naturale nenule m, n, xi y(2<m10,
2<n20, 1x10, 1y10) i elementele unui tablou bidimensional acu mlinii, numerotate de la 1la m,
si ncoloane, numerotate de la 1la n; programul interschimb elementele tabloului bidimensional de pe
linia x cu cele de pe linia y. Tabloul bidimensional astfel obinut se va afia pe ecran, cte o linie a
tabloului pe cte o linie a ecranului, cu un spaiu ntre elementele fiecrei linii.

Exemplu: pentru m=4, n=3, x=1, y=3i matricea

se va afia matricea

46.Scriei un program C/C++ care citete de la tastatur un numr natural n(3n10) i un numr
natural x, cu exact 2cifre, i care construiete n memorie un tablou bidimensional cu nlinii (numerotate
cu numere de la 1la n) i ncoloane (numerotate cu numere de la 1la n), ce are elementele de pe liniile
de rang impar egale cu prima cifr a numrului xi elementele de pe liniile de rang par egale cu ultima
cifr a numrului x. Tabloul bidimensional se va afia pe ecran, cte o linie a tabloului pe cte o linie a
ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: dac se citesc de la tastatur n=4i x=13atunci se afieaz tabloul bidimensional alturat.
1111
3333
1111
3333
47.Considerm urmtoarele declarri:
inti,aux,a[10][10];
Ce valori se afieaz n urma executrii secvenei alturate dac liniile i coloanele tabloului bidimensional
sunt numerotate de la 0la 9i iniial fiecare linie a tabloului conine, de la stnga la dreapta, n ordine
descresctoare, toate numerele naturale, de la 10la 1?
for(i=0;i<=8;i++)
if(a[i][9i]<a[i+1][8i])
{
aux=a[i][9i];
a[i][9i]=a[i+1][8i];
a[i+1][8i]=aux;
}
cout<<a[0][9]<<<<a[9][0];
48.Scriei un program C/C++ care citete de la tastatur dou numere naturale n i k (2<n<25,
0<k<n)i construiete n memorie o matrice cu nlinii i ncoloane format numai din valori 1i 2astfel
nct: elementele aflate pe primele k coloane sunt egale cu 1, iar elementele aflate pe ultimele nk
coloane sunt egale cu 2ca n exemplul de mai jos.
Programul afieaz pe ecran matricea construit, fiecare linie a matricei pe o linie a ecranului i elementele
de pe aceeai linie separate prin cte un singur spaiu.
Exemplu: pentru n=5, k=3se construiete n memorie i se afieaz matricea alturat.

11

Matrice

Variante 2009

11122
11122
11122
11122
11122
49.Scriei un program C/C++care citete de la tastatur dou numere naturale ni a(2<n<25, 0<a<n)
i construiete n memorie o matrice cu nlinii i ncoloane numerotate de la 1la n,format numai din
valori 0,1i 2astfel nct: elementele aflate pe linia asunt egale cu 0, cele de deasupra liniei asunt
egale cu 1, iar elementele aflate sub linia asunt egale cu 2ca n exemplul de mai jos. Programul afieaz
pe ecran matricea construit, fiecare linie a matricei pe o linie a ecranului i elementele de pe aceeai linie
separate prin cte un singur spaiu.
Exemplu: pentru n=5, a=4se construiete n memorie i se afieaz matricea alturat.
11111
11111
11111
00000
22222
50.Variabila amemoreaz o matrice cu 10linii i 10coloane, numerotate de la 1la 10, iar ii jsunt
variabile ntregi cu valori cuprinse ntre 1i 10. Scriei o expresie C/C++care s fie nenul dac i numai
dac elementul a[i][j]nu se afl pe niciuna dintre diagonalele acestei matrice.
51.Fie ao variabil care memoreaz o matrice cu 10linii i 10coloane numerotate de la 1la 10, iar i
i jdou variabile de tip intale cror valori sunt cuprinse ntre 1i 10. Scriei o expresie n limbajul
C/C++ care s fie nenul dac i numai dac a[i][j] se afl pe penultima linie i sub diagonala
principal a matricei a.
52.Fie ao matrice cu 5linii i 5coloane numerotate de la 1la 5. Fiecare element a[i][j](1i5,
1j5)din matrice memoreaz valoarea expresiei (i1)*5+j. Care este valoarea sumei elementelor de
pe ultima coloan a matricei?
53.Scriei un program C/C++care citete de la tastatur un numr natural n(2<n15) i construiete n
memorie o matrice ptrat cu nlinii i ncoloane n care:
- ultima linie conine, n ordine, numerele 1,2,3,..,n
- elementele situate deasupra diagonalei principale sunt nule
- oricare alt element este obinut prin nsumarea elementelor vecine cu el, aflate pe linia imediat urmtoare,
pe aceeai coloan cu el sau pe una din coloanele alturate.
Programul va afia pe ecran matricea obinut pe nlinii, elementele fiecrei linii fiind separate prin cte un
spaiu.
Exemplu: pentru n=4pe ecran se va afia:
27000
91800
3690
1234
54.Se consider un tablou bidimensional a, format din numere naturale, cu n linii i n coloane, numerotate
de la 1la n. Ce reprezinta valoarea variabilei x, dup executarea secvenei de program alturate?
x=a[n][1];
for(i=n;i>=1;i)
if(x<a[i][ni+1])
x=a[i][ni+1];
a. cel mai mare numr de pe diagonalele tabloului a
b. cel mai mare numr de pe diagonala secundar a tabloului a
c. cel mai mare numr de pe diagonala principal a tabloului a
d. cel mai mare numr din tabloul a

12

Matrice

Variante 2009

55.Se consider un tablou bidimensional a cu n linii i n coloane, numerotate de la 1la n, cu elemente


numere ntregi. Ce reprezinta valoarea variabilei ntregi x, dup executarea secvenei de program
alturate?
x=0;
for(i=1;i<=n;i++)
x=x+a[i][i];
a. Suma elementelor de pe diagonala principal a tabloului a
b. Suma elementelor de pe diagonala secundar a tabloului a
c. Suma elementelor tabloului a
d. Cel mai mare element de pe diagonala principal a tabloului a
56.Scriei un program n limbajul C/C++care citete de la tastatur dou valori naturale ni m(1n24,
1m24) i construiete n memorie un tablou bidimensional cu n linii i m coloane format din toate
numerele naturale de la 1la n*m, ca n exemplu. Programul va afia pe ecran, pe nlinii, tabloul obinut,
elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4i m=5se va afia: (V65???)
57.Se consider secvena alturat n care mat este un tablou bidimensional cu 5 linii i 5 coloane,
numerotate de la 1la 5, iar aux, j, x, ysunt variabile de tip ntreg. tiind c orice element al tabloului
este iniial egal cu numrul de ordine al liniei pe care se afl, precizai care sunt elementele tabloului mat
dup executarea secvenei alturate dac xmemoreaz valoarea 2i ymemoreaz valoarea 4?
for(j=1;j<=5;j++)
{
aux=mat[x][j];
mat[x][j]=mat[y][j];
mat[y][j]=aux;
}
58.Se consider secvena alturat n care aeste o matrice ptratic cu 4linii i 4coloane, numerotate
de la 1 la 4, iar i i j sunt variabile de tip ntreg. Care este matricea a obinut dup executarea
secvenei?
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
if(i<=j)a[i][j]=i;
elsea[i][j]=j;

59.Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n (1m50,
1n50) i m* n numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou
bidimensional, i afieaz pe ecran ultima cifr a produsului elementelor pozitive aflate pe linii cu numere
de ordine pare i coloane cu numere de ordine impare. Numerotarea liniilor, respectiv a coloanelor se va
face ncepnd cu valoarea 1. Dac nu exist elemente pozitive aflate pe linii cu numere de ordine pare i
coloane cu numere de ordine impare, se va afia mesajul NUEXISTA. (10p.)
Exemplu: pentru m=4, n=4i matricea alturat se va afia 5
(care reprezint ultima cifr a valorii 355=5*71).
11213141
5617181
91112131
1131410
60.Scriei programul C/C++care citete de la tastatur un numr natural n(1n50)i n*nnumere
naturale de cel mult 5cifre ce reprezint elementele unui tablou bidimensional a, cu nlinii i ncoloane, i
verific dac matricea este triunghiular superior. Programul va afia pe ecran mesajul corespunztor:

13

Matrice

Variante 2009

Estetriunghiular superior respectiv Nuestetriunghiular superior. O matrice


se numete triunghiular superior dac toate elementele aflate sub diagonala principal a ei sunt nule.
Exemplu: pentru n=3i matricea alturat se va afia mesajul:
Estetriunghiular superior
123
056
009
61.Scriei programul C/C++care citete de la tastatur dou numere naturale mi n(1m24, 1n24),
un numr natural x(1xm) i apoi m*nnumere naturale de cel mult 5cifre ce reprezint elementele unui
tablou bidimensional a, cu m linii, numerotate de la 1 la m, i n coloane, numerotate de la 1 la n.
Programul va determina eliminarea liniei cu numrul de ordine xdin matrice, modificarea corespunztoare
a numrului de linii din matrice i afiarea matricei obinute n urmtorul format: cte o linie a matricei pe
cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru m=3, n=4, x=2i matricea alturat
11213141
51617181
91112131
se va afia matricea
11213141
91112131
62.Scriei programul C/C++care citete de la tastatur o valoare natural n(2n100), construiete n
memorie i apoi afieaz pe ecran o matrice a cu n linii i n coloane, numerotate de la 1 la n, care
conine numerele naturale, n ordine cresctoare, de la 1la n2, dispuse pe coloane, n ordine cresctoare.
Astfel coloana 1va conine numerele de la 1la n, coloana 2numerele de la n+1la 2*n, coloana 3de
la 2*n+1la 3*ni aa mai departe, ca n exemplu. Matricea se va afia pe ecran, cte o linie a matricei
pe cte o linie a ecranului, elementele fiecrei linii fiind separate ntre ele prin cte un spaiu.
Exemplu: pentru n=4se va afia matricea alturat.
15913
261014
371115
481216
63.Scriei programul C/C++care citete de la tastatur o valoare natural n(2n24)i construiete n
memorie, apoi afieaz pe ecran o matrice a cu n linii i n coloane, simetric fa de diagonala
secundar. Elementele matricei sunt numerele naturale de la 1la 2n(n1). Elementele situate deasupra
i pe diagonala secundar sunt dispuse n ordine cresctoare pe linii astfel: prima linie conine numerele de
la 1la n, a doua linie conine numerele de la n+1la 2*n1i aa mai departe. Matricea se va afia
pe ecran, cte o linie a matricei pe o linie a ecranului, elementele unei linii fiind separate ntre ele printr-un
spaiu.
Exemplu: pentru n=4se va obine matricea alturat.
1234
5673
8962
10851
64.Variabilele n, i, pi qsunt de tip ntreg, iar variabila amemoreaz un tablou bidimensional cu nlinii
i n coloane numerotate de la 1 la n (0<n<50), cu elemente numere reale. nlocuii punctele de
suspensie din secvena de program alturat cu instruciunile corespunztoare, astfel nct, n urma executrii
acesteia, s se interschimbe elementele liniei q cu elementele liniei p ale tabloului a (1qn, 1pn).
Dac sunt necesare i alte variabile, scriei declarrile acestora.
for(i=1;i<=n;i++)
{........}

14

Matrice

Variante 2009

65.Scriei programul C/C++care citete de la tastatur o valoare natural n(2n100), construiete n


memorie i apoi afieaz pe ecran o matrice a, cu nlinii i ncoloane, numerotate de la 1la n, n care
fiecare linie conine toate numerele naturale, de la 1la n, dispuse dup cum urmeaz: pe liniile de indice
impar numerele sunt n ordine cresctoare, iar pe cele de indice par sunt n ordine descresctoare, ca n
exemplu. Matricea se va afia pe ecran, cte o linie a matricei pe o linie a ecranului, elementele unei linii
fiind separate ntre ele prin cte un spaiu.
Exemplu: pentru n=4se va afia matricea alturat.
1234
4321
1234
4321
66.Scriei programul C/C++ care citete de la tastatur dou valori naturale m i n (1<m, n<51) i
construiete n memorie i apoi afieaz o matrice cu m linii, numerotate de la 1 la m, i n coloane,
numerotate de la 1la n; liniile matricei, dou cte dou, sunt completate alternativ numai cu 0sau numai
cu 1, ca n exemplu. Astfel,
- elementele liniei 1i 2sunt egale cu 0;
- elementele liniei 3i 4sunt egale cu 1;
- elementele liniei 5i 6sunt egale cu 0; i aa mai departe.
Matricea astfel obinut se va afia pe ecran, cte o linie a matricei pe o linie a ecranului, cu cte un spaiu
ntre elementele fiecrei linii.
Exemplu: pentru m=7i n=5se va afia matricea alturat.
00000
00000
11111
11111
00000
00000
11111
67.n secvena de program alturat variabila tmemoreaz o matrice cu 5linii i 5coloane, numerotate
de la 0la 4, cu elemente numere ntregi, iar celelalte variabile sunt
ntregi. Executarea acestei secvene de program determin memorarea n variabila xa sumei elementelor
situate:
x=0;
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
x=x+t[i][j];
a. deasupra diagonalei principale, inclusiv diagonala principal
b. strict deasupra diagonalei principale
c. strict sub diagonala principal
d. strict deasupra diagonalei secundare
68.Variabila tmemoreaz o matrice cu 8linii i 8coloane, numerotate de la 0la 7, cu elemente numere
ntregi, iar variabilele ii jsunt ntregi. Secvena de program alturat determin n urma executrii ei,
memorarea n variabila ntreag za sumei tuturor elementelor situate:
z=0;
for(i=0;i<8;i++)
for(j=0;j<i;j++)
z=z+t[i][j];
a. strict sub diagonala principal
b. deasupra diagonalei principale, inclusiv diagonala principal
c. strict deasupra diagonalei principale
d. strict deasupra diagonalei secundare

15

Matrice

Variante 2009

69.Variabila tmemoreaz o matrice cu 8linii i 8coloane, numerotate de la 0la 7, cu elemente numere


ntregi, iar celelalte variabile sunt ntregi. Secvena de program alturat determin, n urma executrii ei,
memorarea n variabila ntreag za sumei tuturor elementelor situate:
z=0;
for(i=0;i<8;i++)
for(j=7i;j<8;j++)
z=z+t[i][j];
a. sub diagonala secundar, inclusive diagonala secundar
b. deasupra diagonalei principale, inclusiv diagonala principal
c. strict sub diagonala principal
d. strict deasupra diagonalei secundare
70.n secvena de program alturat, variabila a memoreaz o matrice cu 8linii i 8coloane (numerotate
de la 1 la 8), cu elemente numere ntregi, iar toate celelalte variabile sunt ntregi. Ce valoare va avea
elementul a[8][8]dup executarea secvenei?
for(i=1;i<=8;i++)
{
k=i;
for(j=1;j<=8;j++)
{
a[i][j]=k;
k=k+1;
}
}
a. 16 b. 15
c. 64
d. 10
71.Scriei un program C/C++care citete de la tastatur dou numere naturale n i m (n10,m10), apoi
elementele unui tablou bidimensional cu nlinii i mcoloane, numere ntregi distincte, de maximum 4cifre
fiecare, i care determin cel mai mic i cel mai mare numr din tablou i le interschimb. Matricea
modificat va fi afiat pe ecran, cte o linie a matricei pe o linie a ecranului, elementele fiecrei linii fiind
separate prin cte un spaiu.
Exemplu: pentru n=5, m=4i tabloul
22458
325179
421310
5141270
6573643
se va afia tabloul
224708
325179
421310
514125
6573643
72.Scriei un program C/C++care citete de la tastatur o valoare natural nenul n(n10) i apoi n*n
numere ntregi distincte, fiecare avnd cel mult 4cifre, reprezentnd elementele unui tablou bidimensional
cu nlinii i ncoloane. Programul determin cel mai mic i cel mai mare numr de pe diagonala principal,
le interschimb, apoi afieaz pe ecran matricea obinut dup modificare. Fiecare linie a matricei se
afieaz pe cte o linie a ecranului, iar elementele unei linii sunt separate prin cte un spaiu.
Exemplu: pentru n=4i tabloul:224158
325179
427310
5141210
se va afia
7324158
325179

16

Matrice

Variante 2009

42210
5141210

73.Scriei un program C/C++care citete de la tastatur o valoare natural nenul n(n10) i apoi n*n
numere ntregi distincte, fiecare avnd cel mult 4cifre, reprezentnd elementele unui tablou bidimensional
cu n linii i n coloane. Programul determin cel mai mic i cel mai mare numr de pe diagonala
secundar, le interschimb, apoi afieaz pe ecran matricea obinut dup modificare. Fiecare linie a
matricei se afieaz pe cte o linie a ecranului, iar elementele unei linii sunt separate prin cte un spaiu.
Exemplu: pentru n=4i tabloul:
224158
325179
427310
5141210
se va afia
2241517
32589
427310
5141210
74.Scriei programul C/C++care citete de la tastatur un numr natural n(1n10), apoi n*nnumere
ntregi, mai mici dect 32000, reprezentnd elementele unui tablou bidimensional cu nlinii i ncoloane,
i care determin i afieaz pe ecran ultima cifr a produsului numerelor pare de pe diagonala principal a
tabloului sau mesajul imposibildac nu exist numere pare.
75.Scriei un program C/C++ care citete de la tastatur un numr natural n (1n10) i n2 numere
ntregi mai mici dect 32000, reprezentnd elementele unui tablou bidimensional Acu nlinii i ncoloane
i apoi n2numere ntregi mai mici dect 32000reprezentnd elementele unui tablou bidimensional Bcu n
linii i n coloane. Programul construiete n memorie i afieaz pe ecran tabloul C, cu n linii i n
coloane, construit dup regulile de mai jos, ca n exemplu:
- elementele de deasupra diagonalei principale sunt comune cu ale matricei A, situate pe
acealeai poziii
- elementele de pe diagonala principal sunt egale cu cel mai mic dintre elementele situate pe aceleai
poziii n matricele Ai respectiv B
- elementele situate sub diagonala principal sunt egale cu ale matricei B, situate pe
aceleai poziii
Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar elementele de pe aceeai linie sunt
separate prin cte un spaiu.
Exemplu:
pentru n=4i matricea A:
1234
5678
9151112
1875
i matricea B:
91236
8265
4106012
0953
se obine matricea C:
1234
8278
4101112
0953

17

Matrice

Variante 2009

76.Scriei un program C/C++care citete de la tastatur un numr natural n(1n10) apoi construiete n
memorie o matrice cu 2*nlinii i 2*ncoloane, numerotate de la 1la 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 pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte
un spaiu.
Exemplu: pentru n=2se obine matricea alturat.
1357
8642
9111315
16141210
77.n secvena alturat, i, ji nsunt variabile ntregi, iar Teste o matrice ptratic format din nlinii i
ncoloane numerotate de la 1la n. Care este suma elementelor de sub diagonala principal (excluznd
elementele care se afl pe diagonala principal), n urma executrii secvenei, dac n=5?
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if((i*j)%2==0)
T[i][j]=(i*j)n;
else
T[i][j]=i+j;
78.n secvena alturat, i, ji nsunt variabile ntregi, iar Teste o matrice ptratic format din nlinii i
ncoloane, numerotate de la 1la n. Care va fi suma elementelor de pe diagonala secundar a matricei n
urma executrii secvenei, dac n=5?
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if((i*j)%2==0)
T[i][j]=(i*j)n;
else
T[i][j]=i+j;
79.n secvena alturat, i, ji nsunt variabile ntregi iar Teste o matrice ptratic format din nlinii i
n coloane numerotate de la 1 la n. Care va fi suma elementelor de pe diagonala principal n urma
executrii secvenei, dac n=5?
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if((i*j)%2==0)
T[i][j]=(i*j)/2;
else
T[i][j]=i+j;
80.n secvena alturat, i, ji nsunt variabile ntregi iar Teste o matrice ptratic format din nlinii i
n coloane numerotate de la 1 la n. Care va fi suma valorilor de pe diagonala secundar a matricei n
urma executrii secvenei, dac n=5?
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if((i+j)%3==0)
T[i][j]=(i+j)/3;
else
T[i][j]=ij;

18

Matrice

Variante 2009

81.Scriei un program n limbajul C/C++care citete de la tastatur dou valori naturale ni m(1n50,
1m50) i apoi n*m valori 0 i 1 reprezentnd elementele unui tablou bidimensional cu n linii,
numerotate de la 1la n, i mcoloane, numerotate de la 1la m; programul determin i afieaz pe ecran
numrul de ordine al primei coloane care are un numr maxim de valori 1.
Exemplu: pentru pentru n=5i m=4i tabloul alturat, se va afia 2.

82.Scriei un program C/C++ care citete de la tastatur numerele ntregi m i n (1m50, 1n50) i
elementele unui tablou bidimensional cu mlinii i ncoloane, numere ntregi distincte de cel mult 4cifre
fiecare, i elimin din tablou, la nivelul memoriei, linia i coloana corespunztoare elementului de valoare
minim. Programul va afia tabloul obinut pe ecran pe m1linii, elementele fiecrei linii fiind separate prin
cte un spaiu.
Exemplu: pentru m=3i n=4i tabloul de mai jos
2714
146123
92285
Pe ecran se va afia:
1463
9225

83.n secvena alturat, i, j i n sunt variabile ntregi, iar a este o matrice format din 8 linii i 8
coloane, numerotate de la 0la 7. Care este suma elementelor de pe ultima
linie a matricei, n urma executrii acestei secvene?
for(i=0;i<8;i++)
for(j=0;j<8;j++)
a[i][j]=(i+j)%8;
a. 28b. 84c. 36d. 21
84.n secvena alturat, i, ji nsunt variabile ntregi, iar aeste o matrice ptratic format din nlinii i
ncoloane numerotate de la 0la n1. Care este suma elementelor
de pe diagonala secundar din matricea a, n urma executrii acestei secvene, dac n=8?
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=(i+j)%n;
a. 8b. 64c. 24d. 56
85.n secvena alturat, i, ji nsunt variabile ntregi, iar aeste o matrice ptratic format din nlinii i
n coloane, numerotate de la 0 la n1. Care este suma elementelor de pe diagonala principal din
matricea a, n urma executrii acestei secvene, dac n=8?
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=(i+j)%n;
a. 24
b. 64 c. 56 d. 8
86.Se consider un tablou bidimensional cu nlinii i mcoloane (1n50, 1m50) ce memoreaz numere
ntregi cu cel mult dou cifre fiecare. Scriei un program n limbajul C/C++ care citete de la tastatur
valorile n, mi elementele tabloului, i care inverseaz ordinea elementelor n cadrul fiecrei coloane, ca n

19

Matrice

Variante 2009

exemplu. Programul va afia pe ecran, pe nlinii, matricea obinut dup inversare, elementele fiecrei linii
fiind separate prin cte un spaiu.
Exemplu: pentru n=4,m=3i matricea:
173
456
789
345
Pe ecran se va afia:
345
789
456
173
87.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 n2 numere naturale
pare. Prima linie a tabloului va conine, n ordine cresctoare, valorile 0, 2,.., 2n2; a doua linie va conine,
n ordine, valorile 2n, 2n+2,.., 4n2; a treia linie va conine, n ordine, valorile 4n, 4n+2,.., 6n2, iar ultima
linie va conine, n ordine, valorile 2n22n, 2n22n+2,.., 2n22. Programul afieaz pe ecran matricea
construit, cte o linie a matricei pe cte o linie a ecranului, elementele de pe aceeai linie fiind desprite
prin cte un spaiu.
Exemplu: pentru n=3se va afia matricea alturat.
024
6810
121416
88.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 pe
cte o linie a ecranului, elementele fiecrei linii fiind desprite prin cte un spaiu.
Exemplu: pentru n=5se va afia matricea alturat.
12345
22345
33345
44445
55555
89.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=4i tabloul alturat se afieaz numerele: 20(2se nvecineaz direct cu 4, 3, 6i
9, i este mai mic dect acestea, iar 0se nvecineaz direct cu 6, 9i 1i este mai mic dect acestea).
5479
6234
0985
1386

20

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