Sunteți pe pagina 1din 11

Tablouri bidimensionale

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 A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la 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=4 i m=5 se va afia matricea alturat.
1 1 1 1 1
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4
2. Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i
construiete n memorie o matrice cu n linii i n coloane 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 n-1
...
- 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=4 se va afia matricea alturat.
0 3 2 1
4 0 2 1
4 3 0 1
4 3 2 0
3. Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i
construiete n memorie o matrice cu n linii i n coloane 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 n-1
...
- 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=4 se va afia matricea alturat.
4 4 4 0
3 3 0 3
2 0 2 2
0 1 1 1
4. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i 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 1 la m) cu proprietatea c fiecare

element Aij memoreaz cea mai mare 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=4 i m=5 se va afia matricea alturat.
1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p
(2n20, 1p20) 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*p ptrate 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=3 se va afia tabloul alturat:
1 9 25
49 81 121
6. 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 matricei pe o linie a ecranului,
elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 se va afia matricea alturat.
1 1 1 0
2 2 0 1
3 0 2 1
0 3 2 1
7. 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 pe cte o linie a ecranului,
elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 se va afia matricea alturat.
1 2 3 0
1 2 0 3
1 0 2 2
0 1 1 1
8. 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. Matricea astfel construit va fi afiat 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 se citete numrul 28731 matricea construit va fi cea scris alturat.
0 1 1 1 1 1
1 0 3 3 3 3
1 3 0 7 7 7
1 3 7 0 8 8
1 3 7 8 0 2
1 3 7 8 2 0
9. 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 0, elementele care se afl deasupra
ambelor diagonale sunt egale cu 1, elementele care se afl sub ambele diagonale sunt
egale cu 2, 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 spaii ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat.
0 1 1 1 0
3 0 1 0 3
3 3 0 3 3
3 0 2 0 3
0 2 2 2 0
10 . 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 n linii i n coloane, numerotate
de la 1 la 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
spaii ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat.
1 1 1 1 1
1 2 3 4 5
3 3 3 3 3
1 2 3 4 5
5 5 5 5 5
11. 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 n linii i n coloane, 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 spaii ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat.
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

12. Se consider tabloul bidimensional cu n linii i n coloane 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=5 i tabloul alturat, 1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6
se va afia:
1 2 3 4 5
6 7 8 9 1
2 3 4 5 6
7 8 9 1 2
3 4 5 6 7
13. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p
(2n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p
coloane. Tabloul va fi construit astfel nct, parcurgnd matricea linie cu linie de sus n jos i
fiecare linie de la stnga la dreapta, s se obin irul primelor n*p ptrate perfecte pare,
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=3 programul va afia tabloul alturat:
0 4 16
36 64 100
14. Scriei un program C/C++ care citete de la tastatur dou valori naturale nenule m i n
(m10, n10) i apoi un numr de 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.
Exemplu: pentru m=3, n=5 i matricea
5 13 7 2 3
9 6 12 9 10
3 6 5 4 7 , se afieaz pe ecran valoarea 6
(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).
15. 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.
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 n linii i n coloane, numerotate
de la 1 la n, n care fiecare element aflat pe o linie impar este egal cu suma dintre indicii
liniei i coloanei pe care se afl i fiecare element aflat pe o linie par este egal cu cel mai
mic dintre elementele aflate pe linia anterioar i pe aceeai coloan sau pe linia anterioar
i pe una dintre coloanele vecine. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei
pe cte o linie a ecranului cu spaii ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat.

2
2
4
4
6

3
2
5
4
7

4
3
6
5
8

5
4
7
6
9

6
5
8
7
10

17. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20) i
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, n care
fiecare element aflat pe chenarul exterior al matricei este egal cu suma dintre linia i
coloana pe care se afl, iar fiecare dintre celelalte elemente este egal cu suma celor trei
vecini situai n matrice pe linia anterioar. Dou elemente din matrice se numesc vecine
dac se gsesc alturi pe linie, coloan sau diagonal. Chenarul exterior al unei matrice
este format din prima linie, ultima linie, prima coloan i ultima coloan. 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=5 se va obine matricea alturat.
2 3 4 5 6
3 9 12 15 7
4 24 36 34 8
5 64 94 78 9
6 7 8 9 10
18. 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 aceleiai linii fiind separate prin cte un spaiu.
Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat.
12 11 10
9 8 7
6 5 4
3 2 1
19. Un tablou bidimensional A cu m linii i n coloane (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: A[i][j]=A[i-1][j]+A[i][j-1]. Scriei un program
C/C++ care citete de la tastatur numerele m i n i afieaz pe ecran elementul de pe
ultima linie i ultima coloan a tabloului.
Exemplu: pentru m=3 i n=4 se va afia 25 deoarece elementele tabloului A sunt:
1 2 3 4
2 4 7 11
3 7 14 25
20. Se consider un tablou bidimensional cu m linii i n coloane (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 1 la m, respectiv de la 1 la n. Numerele se vor afia separate prin
cte un spaiu.
Exemplu: pentru m=4 i n=4 i tabloul alturat se va afia:
1 2 (10p.)
2 1 1 0
1 1 1 1
2 2 2 1
1 2 1 1

21. Scriei un program C/C++ care citete de la tastatur un numr natural


n (1<=n<=6) i elementele unui tablou bidimensional A cu n linii i n
coloane, care memoreaz numere naturale mai mici dect 100, i
afieaz pe ecran (dac exist), separate prin cte un spaiu,
elementele din matrice care au proprietatea c sunt egale cu produsul
celorlalte elemente aflate pe aceeai coloan.
Exemplu: pentru matricea din figura alturat se afieaz, nu neaprat n
aceast ordine, valorile 10 22.(10=1*5*2*1 ; 22=1*11*2*1)
22. 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 orice element aflat pe prima linie, pe prima i pe ultima
coloan are valoarea 1 i oricare alt element Aij din matrice este egal
cu suma a 3 elemente situate pe linia i-1: primul aflat pe coloana j-1,
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.

23. Scriei un program C/C++ care citete de la tastatur un numr


natural n (1<=n<=50) i elementele unui tablou bidimensional A cu
n linii i n coloane, care memoreaz numere naturale nenule mai
mici dect 100, i afieaz pe ecran produsul numerelor pivot
pentru matricea A.
Un numr natural x este pivot pentru matricea A dac nmulind
fiecare element de pe prima coloan cu numrul x, se obin, n
aceeai ordine, elementele unei coloane din matrice.
Exemplu: pentru matricea din figura alturat se afieaz 8.
24. 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, primul aflat pe linia i i pe
coloana j-1, iar cel de-al doilea pe coloana j i pe linia i-1.
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.
25. 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 cresctoare a valorii, pe linii i coloane, primele n2 numere 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=4 se va construi i afia matricea alturat.
1 2 4 8
10 14 16 20
22 26 28 32
34 38 40 44
26. 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: pentru n=4 i matricea alturat, se vor afia pe ecran valorile: -7 18 -10 2.
122 103 5 10
-7 18 -10 2
107 999 59 4
1 200 100 7
27. Se consider o matrice ptratic cu n linii i n coloane (1n30), ce
memoreaz numere ntregi de cel mult 2 cifre fiecare. Scriei un
program C/C++ care citete de la tastatur valoarea n i elementele
matricei i care afieaz pe ecran, produsul acelor elemente de pe
diagonala secundar care au proprietatea c sunt valori minime pe
coloanele lor.
Exemplu: pentru n=4 i matricea alturat se va afia pe ecran
valoarea 21 (3*7=21).
28. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n23) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, astfel nct
fiecare element situat pe o linie i (1in) i pe o coloan j (1in) va fi egal cu suma dintre i
i j. Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a ecranului,
elementele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: dac n=4, se va afia matricea alturat.
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 8
29. 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. 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 n este 4 atunci programul va construi i va afia matricea alturat.
2 1 1 1
3 2 1 1
3 3 2 1
3 3 3 2
30. 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
31. Scriei un program C/C++ care citete de la tastatur dou numere naturale m i n
(0<m10, 0<n10) i elementele unui tablou bidimensional cu m linii i n coloane care
reine numere naturale mai mici dect 100; programul va construi i va afia pe ecran un
nou tablou bidimensional cu n linii i m coloane, obinut din primul prin rotirea acestuia n
sens trigonometric cu 90o, ca n exemplu.
Exemplu: pentru m=4,

n=5 i tabloul:
21 22 23 24
26 27 28 29
31 32 33 34
36 37 38 39

25
30
35
40

se va afia:
25 30 35
24 29 34
23 28 33
22 27 32
21 26 31

40
39
38
37
36

32. 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 n linii i n coloane astfel
nct, parcurgndu-l linie cu linie de sus n jos i fiecare linie de la stnga la dreapta, se obin
primele n2 numere pare nenule, n ordine strict cresctoare, ca n exemplu.
Exemplu: pentru n=4, se construiete i se afieaz tabloul alturat.
2 4 6 8
10 12 14 16
18 20 22 24
26 28 30 32
33. Elementele tabloului bidimensional din figura alturat, cu 5 linii i 5 coloane, sunt toate
numerele naturale cuprinse ntre 1 i 25 aezate n spiral, ncepnd cu primul element al primei
linii i continund n sens invers trigonometric ca n figura alturat. Care este ultima cifr a
produsului numerelor impare aflate sub diagonala secundar (exclusiv diagonala secundar), n
cazul unui tablou bidimensional cu 4 linii i 4 coloane generat dup aceeai regul?
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
34. In secvena de mai jos, variabila a memoreaz elementele unui tablou bidimensional cu 5
linii (numerotate de la 1 la 5) i 5 coloane (numerotate de la 1 la 5), iar celelalte variabile
sunt de tip ntreg. Ce valoare se va afia n urma executrii secvenei dac se prelucreaz
urmtoarea matrice?
x=0;
for (i=1;i<=5;i++)
if(a[i][i]%2!=0)
x=x+a[i][6-i];
cout<<x; | printf(%d,x);
1 2 3 4 2
6 7 8 9 4
1 2 0 4 3
7 2 1 4 5
1 2 3 4 5
35. Scriei un program C/C++ 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 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 tabloul alturat.
1 2 2 3
2 1 3 2
2 3 1 2
3 2 2 1
36. 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 nenule 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 nvecineaz direct cu 4,
3, 6 i 9, i este mai mic dect acestea, iar 0 se nvecineaz direct cu 6, 9 i 1 i este mai mic
dect acestea).
5 4 7 9
6 2 3 4
0 9 8 5
1 3 8 6
37. 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 pe cte o linie a ecranului,
elementele de pe aceeai linie fiind desprite prin cte un spaiu.
Exemplu: pentru n=3 se va afia matricea alturat.
0 2 4
6 8 10
12 14 16
38. Se consider un tablou bidimensional cu n linii i m coloane (1n50, 1<=m50) ce
memoreaz numere ntregi cu cel mult dou cifre fiecare. Scriei un program n limbajul
C/C++ care citete de la tastatur valorile n, m i elementele tabloului, i care inverseaz
ordinea elementelor n cadrul fiecrei coloane, ca n exemplu. Programul va afia pe ecran,
pe n linii, matricea obinut dup inversare, elementele fiecrei linii fiind separate prin cte
un spaiu.
Exemplu: pentru n=4, m=3 i matricea:
Pe ecran se va afia:
3 4 5
1 7 3
7 8 9
4 5 6
4 5 6
7 8 9
1 7 3
3 4 5
39. Scriei un program C/C++ care citete de la tastatur numerele ntregi m i n (1n50,
1<=m50) i elementele unui tablou bidimensional cu m linii i n coloane, numere ntregi
distincte de cel mult 4 cifre fiecare, i elimin din tablou, la nivelul memoriei, linia i coloana
corespunztoare elementului de valoare minim. Programul va afia tabloul obinut pe ecran
pe m-1 linii, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru m=3 i n=4 i tabloul de mai jos
2 7 1 4
Pe ecran se va afia:
14 6 12 3
14 6 3
9 22 8 5
9 22 5
40. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n20),
elementele unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100, 100] i
afieaz pe ecran diferena m1-m2, unde m1 este media aritmetic a elementelor strict
pozitive ale matricei, situate deasupra diagonalei principale, iar m2 este media aritmetic a
elementelor strict pozitive ale matricei, situate sub diagonala principal, ca n exemplu.
Exemplu: pentru n=4 i matricea alturat se afieaz valoarea 0.25
(m1=2.75, calculat din elementele aflate deasupra diagonalei principale, marcate cu chenar, i
m2=2.5, calculat din elementele subliniate).
-1 2 -4 5

0 6 3 1
2 4 2 0
3 -5 1 -3
41. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n6) apoi
construiete n memorie o matrice cu n linii i n coloane, astfel nct parcurgnd liniile
matricei de sus n jos i de la stnga la dreapta se obin, n prima linie primele n numere ale
irului Fibonacci n ordine cresctoare, n linia a doua urmtoarele n numere ale irului
Fibonacci n ordine descresctoare, n linia a treia urmtoarele n numere ale acestui ir n
ordine cresctoare, i aa mai departe, ca n exemplu. Elementele irului Fibonacci se obin
astfel: primul element este 0, al doilea este 1, iar elementele urmtoare se obin nsumnd
cele dou elemente care preced elementul curent. Astfel, primele 16 elemente ale acestui ir
sunt: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610.
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=4 se obine matricea alturat.
0 1 1 2
13 8 5 3
21 34 55 89
610 377 233 144
42. 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 pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un
spaiu.
Exemplu: pentru n=2 se obine matricea alturat.
1 3 5 7
8 6 4 2
9 11 13 15
16 14 12 10
43. 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 produsul numerelor
de ordine ale coloanelor care conin cel puin o dat valoarea k.
Exemplu: pentru k=3,n=5,m=4 i matricea alturat se va afia 6, deoarece coloanele 2 i 3
conin numrul k=3.
2 4 5 -8
5 3 7 9
6 -2 3 10
7 4 2 37
8 7 3 13
44. ntr-o matrice a, cu n linii i n coloane, numerotate de la 1 la n, numim semidiagonal de
indice k mulimea format din elementele ai,j pentru care i+j = k+1. 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, n care elementele
fiecrei semidiagonale de indice k sunt egale cu (k+1)2, 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 = 4 se va obine matricea alturat.

4 9 16 25
9 16 25 36
16 25 36 49
25 36 49 64
45. 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 ecranului, elementele de pe
aceeai linie fiind separate ntre ele prin cte un spaiu.
Exemplu: pentru n = 4 se va obine matricea alturat.
1 1 2 3
5 8 3 1
4 5 9 4
3 7 0 7
46. 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,
simetric fa de diagonala secundar. Elemente matricei situate deasupra diagonalei
secundare, inclusiv diagonala secundar, sunt toate numerele naturale de la 1 la n(n 1)/2.
Elementele fiecrei linii, de la stnga la dreapta i ale fiecrei coloane, de sus n jos, situate
deasupra diagonalei secundare, inclusiv cele de pe diagonala secundar, sunt n ordine strict
cresctoare, ca n exemplu. Matricea se va afia pe ecran, cte o linie a matricei pe o linie a
ecranului, elementele fiecrei linii fiind separate ntre ele prin cte un spaiu.
Exemplu: pentru n = 4 se va afia matricea alturat.
1 3 6 10
2 5 9 6
4 8 5 3
7 4 2 1
47. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n50) i n* n
numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou bidimensional a, cu
n linii i n coloane, i verific dac matricea este triunghiular superior. Programul va afia
pe ecran mesajul corespunztor: Este triunghiular superior respectiv Nu
este triunghiular superior. O matrice se numete triunghiular superior dac
toate elementele aflate sub diagonala principal a ei sunt nule.
Exemplu: pentru n=3 i matricea alturat se va afia mesajul: Este triunghiular
superior
1 2 3
0 5 6
0 0 9
48. 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 produsul 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.
Exemplu: pentru m=4, n=4 i matricea alturat se va afia 355 (355=5*71).
11 -21 31 41
5 -61 71 -81
91 11 21 31
-11 31 -41 0

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