Sunteți pe pagina 1din 1

1.

a) Scriei n limbajul C/C++ doar antetul unui subprogram cif, care primete prin intermediul primului parametru, nr, un
numr natural cu cel mult 9 cifre i furnizeaz prin intermediul celui de-al doilea parametru, s, suma cifrelor din scrierea lui
nr. b) Scriei programul C/C++ care citete de la tastatur un numr natural n (0<n<25), apoi un ir de n numere naturale
nenule cu cel mult 9 cifre fiecare i care determin i afieaz pe ecran, separate prin cte un spaiu, numerele din ir care
au suma cifrelor egal cu 10, folosind apeluri utile ale subprogramului cif.
2. Scriei definiia complet a subprogramului f, care primete prin intermediul parametrului n un numr natural nenul
(2n200), iar prin intermediul parametrului a un tablou unidimensional care conine n valori ntregi, fiecare dintre aceste
valori ntregi avnd cel mult patru cifre. Subprogramul returneaz valoarea 1 dac diferena dintre elementul maxim
i elementul minim din tablou este mai mare dect 1000, altfel valoarea returnat va fi 0.
3. Se consider subprogramul divxy care primete prin parametrii x i y dou valori ntregi pozitive (0<x<1000 i 0<y<1000)
i returneaz valoarea 1 dac y este divizor al lui x i 0 n caz contrar.
a) Scriei definiia complet a subprogramului divxy. b) Scriei un program C/C++ care citete de la tastatur trei numere
naturale nenule a, b i n, cu cel mult 3 cifre fiecare i care construiete n memorie un tablou unidimensional ale crui
elemente memoreaz n ordine cresctoare, toi divizorii lui n din intervalul nchis determinat de a i b folosind apeluri utile
ale subprogramului divxy. Intervalul nchis determinat de a i b este [a,b] dac a<b sau [b,a] dac ba.
Exemplu: pentru a=65, b=11 i n=140 tabloul va conine: 14 20 28 35
4. Se consider subprogramul divizor, care primete prin intermediul primului parametru, a, un numr natural (1<a<10000)
i returneaz cel mai mic divizor prim al numrului a. a) Scriei n limbajul C/C++ definiia complet a subprogramului
divizor. b) Se citesc un numr natural nenul n (n100) i n numere naturale mai mari dect 1, fiecare numr avnd
maximum 4 cifre. Scriei un program C/C++ care afieaz pe ecran suma obinut adunnd, pentru fiecare dintre cele n
numere citite, cel mai mic divizor prim. Se vor utiliza apeluri utile ale subprogramului divizor. Exemplu: 6
16 25 6 77 10 4--------------------------- se va afia 20 (20=2+5+2+7+2+2)
5. Scriei definiia complet a subprogramului divizor, cu trei parametri, prin care primete 3 numere naturale nenule cu cel
mult 9 cifre fiecare i returneaz numrul divizorilor comuni tuturor celor 3 numere.
Exemplu: dac numerele primite ca parametri sunt 24, 20 i 12, subprogramul returneaz valoarea 3 (divizorii comuni sunt
1, 2 i 4).
6. Subprogramul Nr are un singur parametru, k, prin intermediul cruia primete un numr natural de cel puin 3 cifre i cel
mult 9 cifre, cu toate cifrele nenule. Subprogramul furnizeaz tot prin intermediul parametrului k, valoarea obinut prin
eliminarea primei cifre a numrului transmis la apel.
Exemplu: dac subprogramul primete prin intermediul parametrului k valoarea 12438, atunci n urma apelului
subprogramului Nr, k va primi valoarea 2438. Scriei, n limbajul C/C++, definiia complet a subprogramului Nr.
7. Scriei n limbajul C/C++ definiia complet a subprogramului numar, cu exact doi parametri, care primete prin
intermediul parametrului x un numr natural de cel mult 2 cifre, i prin intermediul parametrului y un numr natural nenul de
cel mult 9 cifre. Subprogramul returneaz cel mai mare numr natural z pentru care exist un numr natural k astfel nct
z=xk i z<y. Exemplu: pentru y=18 i x=2 subprogramul va returna valoarea 16(=24<18).
8. Subprogramul Suma, cu trei parametri, primete prin intermediul parametrilor x i y dou numere naturale de cel mult 4
cifre fiecare i furnizeaz, prin intermediul parametrului z, suma numerelor pare cuprinse ntre x i y inclusiv.
Exemplu: dac la apel sunt transmise valorile x=12 i y=23, atunci subprogramul Suma va returna, prin intermediul
parametrului z, valoarea 102. Scriei, n limbajul C/C++, definiia complet a subprogramului Suma.
9. Funcia verif primete prin intermediul a trei parametri, notai a, b i c, trei valori naturale nenule, fiecare de maximum
patru cifre. Funcia returneaz valoarea 1 dac cele trei valori pot constitui laturile unui triunghi i valoarea 0 n caz contrar.
a) Scriei definiia complet a funciei verif.
b) Scriei un program C/C++ care citete de la tastatur 3 valori naturale nenule, apoi verific, utiliznd apeluri utile ale
funciei verif, dac numerele citite pot constitui laturile unui triunghi.
10. Funcia f primete prin intermediul parametrului n un numr natural nenul (2n200), iar prin intermediul parametrului a
un tablou unidimensional care conine n valori ntregi (fiecare dintre aceste valori ntregi avnd cel mult patru cifre).
Funcia returneaz valoarea -1 dac numrul de valori strict negative din tabloul a este strict mai mare dect numrul de
valori strict pozitive din tablou, valoarea 0 dac numrul de valori strict negative din a este egal cu numrul de valori strict
pozitive din tablou i valoarea 1 dac numrul de valori strict pozitive din tabloul a este strict mai mare dect numrul de
valori strict negative din a. Scriei definiia complet a funciei f.
11. Subprogramul par primete prin singurul su parametru, n, un numr natural nenul cu cel mult 4 cifre i returneaz
valoarea 1 dac n conine cel puin o cifr par, sau returneaz valoarea 0 n caz contrar. Exemplu: pentru n=723
subprogramul va returna valoarea 1.
a) Scriei definiia subprogramului par.
b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu cel mult 9 cifre, apoi un ir de n numere
naturale, cu exact 8 cifre fiecare, i afieaz pe ecran numrul de valori din irul citit care au cel puin o cifr par printre
primele 4 poziii, considerate de la stnga spre dreapta. Se vor utiliza apeluri utile ale subprogramului par.
Exemplu: dac n=3, iar irul citit este 12386406, 37152073, 73543157 se va afia 2
(numerele 12386406 i 73543157 respect condiia cerut).