Sunteți pe pagina 1din 1

PROBLEME TABLOURI BIDIMENSIONALE (MATRICE) prof. Voica Nicoleta, C.N.I.C.B.

1. Scrieţi un program C/C++ care citeşte din fişierul mat.in două valori naturale nenule n, m (n≤10, m≤10) şi apoi n*m
numere întregi, fiecare având cel mult 4 cifre, reprezentând elementele unui tablou bidimensional cu liniile numerotate
de la 1 la n şi coloanele numerotate de la 1 la m. Programul determină şi afişează în fişierul mat.out: a) suma elementelor
din matrice; b) numărul de elemente pozitive de pe linii pare şi coloane impare; c) de câte ori apare o valoare dată x în
tablou, x citit de la tastatură; d) ultima cifră a produsului elementelor prime din matrice.

2. Scrieţi un program C/C++ care citeşte din fişierul mat.in două valori naturale nenule n, m (n≤10, m≤10) şi apoi n*m
numere întregi distincte, fiecare având cel mult 4 cifre, reprezentând elementele unui tablou bidimensional cu liniile
numerotate de la 1 la n şi coloanele numerotate de la 1 la m. Programul determină şi afişează în fişierul mat.out matricea
obţinută după interschimbarea elementului de valoare minimă cu elementul de valoare maximă.

3. Se consideră un tablou bidimensional cu n linii și m coloane. Realizați un program care afișează numărul de numere
prime de pe fiecare coloană a matricii.
4. Se consideră un tablou bidimensional cu n linii și m coloane. Realizați un program care liniarizează matricea, adică
formează un vector cu elementele matricii, parcurse pe linii, apoi afișează elementele în ordine descrescătoare.

5. Se dă o matrice cu n linii şi n coloane (n<25) şi elemente numere naturale. Calculaţi diferenţa în valoare absolută dintre
sumele elementelor de pe cele două diagonale.

6. Se dă o matrice cu n linii şi n coloane (n<20) şi elemente numere naturale. Calculaţi cel mai mare divizor comun al sumei
elementelor de deasupra diagonalei principale și al sumei elementelor de sub diagonala principală.
7. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<16), construieşte în memorie şi afişează
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 afişate pe ecran, câte o linie a matricei pe câte o linie a ecranului cu câte un spaţiu între
elementele fiecărei linii.
Exemplu: pentru n=5 se va afişa matricea alăturată. 01110
30103
33033
30203
02220
8. Scrieţi un program care citeşte de la tastatură un număr natural n (n<30) şi construieşte în memorie o matrice cu n linii
şi n coloane, numerotate de la 1 la n, în care elementele de pe liniile cu indice impar sunt egale cu indicele de linie, iar
elementele situate pe linii cu indice par sunt egale cu indicele de coloană.

9. Fie un tablou bidimensional pătratic de ordin n (n<20) cu elemente naturale. Să se elimine linia x (x<=n) și coloana y
(y<=n) din matrice.
10. Se consideră tabloul bidimensional cu n linii şi n coloane ce conţine numere naturale cu cel mult patru cifre fiecare.
Scrieţi programul C/C++ care citeşte din fișierul matrice.in numărul natural n (2≤n≤23) şi cele n*n elemente ale tabloului
şi apoi afişează în fişierul matrice.out elementele primului pătrat concentric, separate prin câte un spaţiu, în ordinea
parcurgerii apoi în ordine crescătoare. Pătratul este parcurs în sensul acelor de ceasornic începând din colţul său stânga-
sus, ca în exemplu. Primul pătrat concentric este format din prima şi ultima linie, prima şi ultima coloană a tabloului.
Exemplu: pentru n=5 şi tabloul alăturat, se va afişa: 1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6, apoi 1 1 2 2 2 3 3 4 4 5 5 6 6 6 7 7
12345
67891
23456
78912
34567

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