Sunteți pe pagina 1din 6

1.

Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr natural cu cel
mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz numrul de apariii ale
cifrei b n scrierea numrului a. Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2.

2. Se consider subprogramul P care primete ca parametri un numr natural n cu maximum 9 cifre i o


cifr c i care va returna numrul obinut din n dup eliminarea tuturor apariiilor cifrei c. a) Scriei doar
antetul subprogramului P. (4p.) b) Pe prima linie a fiierului text BAC.IN se gsesc, separate prin cte un
spaiu, mai multe numere naturale de cel mult 9 cifre fiecare. Scriei un program C/C++ care citete
numerele din acest fiier, elimin toate cifrele impare din fiecare dintre aceste numere i apoi scrie n
fiierul text BAC.OUT numerele astfel obinute, separate prin cte un spaiu. Se vor folosi apeluri utile ale
subprogramului P. Dac un numr din fiierul BAC.IN nu conine nicio cifr par nenul, acesta nu va mai
aprea deloc n fiierul de ieire. (10p.) Exemplu: dac fiierul BAC.IN conine numerele 25 7 38 130
45127 0 35 60 15, atunci BAC.OUT va avea coninutul: 2 8 42 60.

3. Scriei definiia complet a subprogramului cinci care primete ca parametru un numr natural nenul n
(n<=20) i un tablou unidimensional v cu n elemente numere naturale, fiecare avnd cel mult 9 cifre i
returneaz o valoare reprezentnd numrul apariiilor cifrei 5 n scrierea tuturor numerelor din tablou.
Exemplu: dac n=6, iar v=(12, 5, 6535, 1, 86, 573), subprogramul va returna valoarea 4.(folosit un
subprogram care verifica daca un numar are cif 5 in screierea lui)

4. Subprogramul cifrak are 2 parametri, n, prin care primete un numr natural cu maximum 9 cifre, i k,
prin care primete un numr natural (k9). Subprogramul returneaz numrul de cifre ale numrului n
care sunt egale cu valoarea k. Exemplu: dac n=233433, iar k=3, subprogramul va returna valoarea 4. a)
Scriei definiia complet a subprogramului cifrak. (4p.) b) n fiierul numere.txt sunt memorate mai
multe numere naturale (maximum 1000 de numere cu maximum 9 cifre fiecare). Fiecare linie a fiierului
conine cte un numr. Scriei programul C/C++ care, folosind apeluri ale subprogramului cifrak, afieaz
pe ecran, separate prin cte un spaiu, toate numerele din fiier care conin exact trei cifre de 0.
Exemplu: dac fiierul numere.txt conine 260070 39008 70009 se vor afia, nu neaprat n aceast
ordine, numerele 260070 70009.

5. Subprogramul cifre_impare primete prin parametrul n un numr natural avnd cel mult 9 cifre i
returneaz valoarea 1 dac numrul n are toate cifrele impare i 0 n caz contrar. a) Scriei numai antetul
subprogramului cifre_impare. (4p.) b) Pe prima linie a fiierului numere.txt se afl un numr natural n,
iar pe urmtoarele linii, n numere naturale. Pe fiecare linie din fiier, numerele sunt desprite prin cte
un spaiu. Toate numerele din fiier au cel mult 9 cifre. Scriei programul C/C++ care, folosind apeluri
utile ale subprogramului cifre_impare, afieaz pe ecran acele numere din fiier care sunt mai mari dect
100 i au toate cifrele impare. Numerele afiate sunt separate prin cte un spaiu. Exemplu: dac fiierul
numere.txt are coninutul alturat, se vor afia pe ecran: 333 713 11573 (10p.) 10 1 333 709 23 258 34
713 2678 11573 778

6. Subprogramul cifra primete prin intermediul parametrului a un numr natural cu cel mult 4 cifre i
returneaz ultima cifr par a sa. Dac numrul nu conine cifre pare, subprogramul returneaz valoarea
-1. De exemplu, dac a=8345, subprogramul va returna 4. a) S se scrie definiia complet a
subprogramului cifra. (10p.) b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n
(n1000), iar pe a doua linie a fiierului se afl un ir de n numere naturale, desprite prin cte un
spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete numerele din
fiier i afieaz pe ecran, folosind apeluri utile la subprogramului cifra, cel mai mare numr care se
poate forma prelund ultima cifr par a fiecrui element, dac o astfel de cifr exist. n cazul n care
toate valorile din fiier conin doar cifre impare, atunci se va afia valoarea -1. (6p.) Exemplu: dac
fiierul bac.in are coninutul alturat, pe ecran se va afia: 64220 7 369 113 2 0 33 1354 42

7. Scriei n limbajul C/C++ definiia complet a subprogramul Del care are doi parametri: x, un numr
ntreg de cel mult 9 cifre, i y, un numr natural nenul de o cifr. Subprogramul determin eliminarea
tuturor cifrelor lui x mai mari strict dect y i furnizeaz numrul obinut tot prin intermediul
parametrului x. Dac toate cifrele lui x sunt mai mari strict dect y, atunci x va primi valoarea -1.
Exemplu: dac x=37659 i y=6, dup apel x=365, iar y=6.

8. Se consider subprogramul pr, care primete prin intermediul parametrului a un numr natural nenul
cu cel mult 9 cifre i returneaz 1 dac numrul este prim i 0 n caz contrar. a) Scriei definitia complete
subprogramului pr. (4p.) b) Considerm un numr natural nenul n>99 cu cel mult 9 cifre. Din n se obine
un ir de valori prin eliminarea succesiv a ultimei cifre, apoi a ultimelor dou cifre, apoi a ultimelor trei
cifre etc., pn se obine un numr de dou cifre, ca n exemplu. S se realizeze un program C/C++ care
citete de la tastatur numrul n i care, folosind apeluri utile ale subprogramul pr, afieaz pe ecran,
separate prin cte un spaiu, doar valorile prime din irul obinut din n conform descrierii de mai sus.
Exemplu: pentru n=193124 se obine irul de valori 19312,1931, 193, 19 din care se vor afia pe ecran
doar valorile 1931 193 19 (nu neaprat n aceast ordine). (6p.)

9. a) Scriei n limbajul C/C++ doar antetul subprogramului cifre, care prin intermediul parametrului nr
primete un numr natural de cel mult 9 cifre i furnizeaz prin intermediul parametrilor nc i sc numrul
de cifre i respectiv suma cifrelor din scrierea lui nr. (4p.) b) Scriei programul C/C++ care citete de la
tastatur un numr natural n (10 n 109 ) i verific, folosind apeluri utile ale subprogramului cifre, dac
n scrierea n baza 10 a lui n se gsete cel puin o cifr care s fie media aritmetic a celorlalte cifre din
componena lui n. Programul afieaz pe ecran mesajul DA n caz afirmativ i NU n caz contrar. Exemplu:
pentru n=27989 programul va afia mesajul DA, deoarece n scrierea lui n apare cifra 7 care este media
aritmetic a celorlalte cifre din scrierea lui n: 7=(2+9+8+9)/4. Pentru n=7351 se va afia mesajul NU.

10. 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. (4p.) 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
afieaz pe ecran, separate prin cte un spaiu, numerele din ir care au suma cifrelor maxim, folosind
apeluri utile ale subprogramului cif. Exemplu: dac pentru n=8 se citete irul de numere 274 56018 354
8219 293 287 932 634 atunci, pe ecran, se afieaz numerele 56018 8219.

11. Se consider subprogramul cmax care prin parametrul a primete un numr natural nenul mai mic
dect 30000, iar prin parametrul b furnizeaz cifra maxim din numrul a. a) Scriei, folosind limbajul
C/C++, doar antetul subprogramului cmax. (4p.) b) Fiierul bac.txt conine cel mult 1000 numere naturale
nenule, mai mici dect 30000 fiecare, separate prin cte un spaiu. Scriei programul C/C++ care citete
din fiierul bac.txt toate numerele i care determin cea mai mare cifr din scrierea lor folosind apeluri
utile ale subprogramului cmax. Cifra determinat se va afia pe ecran. Exemplu: dac fiierul bac.txt
conine valorile: 23 12 64 12 72 345 67 23 71 634 atunci pe ecran se afieaz 7.

12. Se consider subprogramul pal, care primete prin intermediul primului parametru, a, un numr
natural, cu minimum 2 cifre i maximum 8 cifre, i furnizeaz prin intermediul celui de-al doilea
parametru, b, cel mai apropiat numr de valoarea lui a, care este palindrom. n cazul n care exist 2
astfel de numere, subprogramul va returna numrul mai mic. Un numr natural x este palindrom dac
este egal cu numrul obinut prin scrierea cifrelor lui x n ordine invers. Exemplu: dac a=16, atunci
valoarea returnat este 11; dac a=128, valoarea returnat este 121, iar dac a=33, atunci se returneaz
33. a) Scriei definitia complet a subprogramului pal. (4p.) b) Fiierul text date.in conine pe prima linie
un numr natural nenul n (n100), iar pe a doua linie n numere naturale nenule, separate prin cte un
spaiu, fiecare numr avnd minimum 2 cifre i maximum 8 cifre. Scriei un program C/C++ care citete
toate numerele din fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu, pentru fiecare
dintre cele n numere, cel mai apropiat numr palindrom, folosind apeluri utile ale subprogramului pal.
Exemplu: dac fiierul date.in are coninutul alturat 4

16 1775 333 190

, atunci se vor afia numerele: 11 1771 333 191 (6p.)

13.

Se consider subprogramul cifre, cu doi parametri, a i b, care primete prin intermediul primului
parametru, a, un numr natural cu maximum 8 cifre nenule i returneaz, prin intermediul celui de-al
doilea parametrul b, cel mai mic numr care se poate forma cu toate cifrele lui a. a) Scriei definiia
complet a subprogramului cifre. (4p.) b) Se consider fiierul text date.in ce conine pe prima linie un
numr natural nenul n (n100), iar pe a doua linie n numere naturale, separate prin cte un spaiu,
fiecare numr avnd maximum 8 cifre nenule. Scriei un program C/C++ care citete toate numerele din
fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu, numerele situate pe a doua linie a
fiierului, formate numai din cifre ordonate cresctor, folosind apeluri utile ale subprogramului cifre. n
cazul n care nu exist niciun astfel de numr se va afia valoarea 0. Exemplu: dac fiierul date.in are
coninutul alturat .) 6

16 175 333 242477 321 269

, atunci se vor afia numerele: 16 333 269 (6p

14. Subprogramul cifra primete prin parametrul x un numr real nenul pozitiv i furnizeaz prin
parametrul y valoarea cifrei unitilor prii ntregi a lui x. Exemplu: dac x=34.567, atunci valoarea
furnizat de subprogram este 4.

15.Subprogramul verif primete prin singurul su parametru, x, un numr natural nenul cu cel mult 9
cifre i returneaz valoarea 1 dac numrul conine cel puin o secven de 3 cifre impare alturate i 0
n caz contrar. Exemplu: dac x=7325972 se va returna valoarea 1. a) Scriei definiia complet a
subprogramului verif. (6p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural
nenul n cu exact 6 cifre i, folosind apeluri utile ale subprogramului verif, verific dac n are primele trei
cifre impare. Programul afieaz pe ecran mesajul Da n caz afirmativ i mesajul Nu n caz contrar.
Exemple: dac se citete n=132567 se va afia mesajul Nu, iar dac n=979243, se va afia mesajul Da.

16. Subprogramul sfx primete prin singurul su parametru, x, un numr natural din intervalul
[100,2000000000] i returneaz valoarea 1 dac ultimele trei cifre ale numrului sunt n ordine strict
descresctoare sau valoarea 0 n caz contrar. Exemplu: dac x=24973 se va returna valoarea 1. a) Scriei
definiia complet a subprogramului sfx. (5p.) b) Scriei un program C/C++ care citete de la tastatur un
numr natural n format din exact 6 cifre i verific, utiliznd apeluri ale subprogramului sfx, dac acest
numr are toate cifrele n ordine strict descresctoare. Programul va afia mesajul Da n caz afirmativ i
mesajul Nu n caz contrar. Exemplu: dac n=756543 se va afia Nu, iar dac n=976532 se va afia Da.

17. S se scrie definiia complet a subprogramului calcul, care primete prin intermediul celor doi
parametri ai si dou numere ntregi, n i k (1n100000000 i 1k9), i returneaz cifra de rang k a
numrului n. Rangul unei cifre este numrul su de ordine, numerotnd cifrele de la dreapta la stnga;
cifra unitilor avnd rangul 1. Dac numrul k este mai mare dect numrul de cifre ale lui n, atunci
funcia returneaz valoarea -1. Exemplu: dac n=9243 i k=3, n urma apelului se va returna 2.

18. S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin
intermediul parametrului ntreg n, un numr natural de cel mult 9 cifre i returneaz valoarea absolut a
diferenei dintre numrul de cifre pare i numrul de cifre impare coninute de n. (10p.) Exemplu: dac
n=92465, n urma apelului se va returna valoarea 1.

19. S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin
parametrul n un numr natural nenul de cel mult 9 cifre i furnizeaz prin parametrul x numrul obinut
prin alturarea cifrelor pare ale lui n considerate de la dreapta ctre stnga. Dac n nu conine nicio cifr
par, x primete valoarea 0. (10p.) Exemplu: n urma apelului calcul(9278,x), x primete valoarea 82

20. Un numr natural se numete palindrom dac numrul citit de la stnga la dreapta este egal cu
numrul citit de la dreapta la stnga. a) Scriei definiia complet a subprogramului Palindrom care
primete prin intermediul parametrului n un numr natural de cel mult nou cifre i returneaz 1 dac
acesta este palindrom i 0 n caz contrar. (10p.) b) Fiierul text numere.in conine mai multe numere
naturale de cel mult 9 cifre fiecare, numerele fiind desprite prin cte un spaiu. Cel puin unul dintre
numere este palindrom. Scriei un program C/C++ care citete numerele din fiierul numere.in i,
folosind apeluri utile ale funciei Palindrom, determin n mod eficient care este cel mai mare numr
palindrom citit. Programul scrie n fiierul text numere.out numrul astfel determinat. Exemplu: dac
numere.in conine numerele: 23 565 78687 7887 7865 78687 7887 23 78687 98798 atunci numere.out
va conine: 78687 (6p.) c) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul b (3
4 rnduri).

21. a) Scriei n limbajul C/C++ definiia complet a subprogramului Cifre care primete prin parametrii a
i b dou numere naturale (0<a<20000000,0<b<20000000)i returneaz numrul de cifre comune ale
celor dou numere. Exemplu: dac a = 123446 i b= 248766 atunci subprogramul va returna 3, iar dac a
= 1244 i b = 4456 subprogramul va returna 1. (10p.) b) Fiierul text numere.in conine pe prima linie a sa
dou numere naturale, x, cu cel mult nou cifre, i p, cu exact o cifr, iar pe a doua linie cel mult 1000 de
numere naturale de cel mult nou cifre fiecare. Scriei programul C/C++ care citete numerele din
fiierulu numere.in i, apelnd funcia Cifre, scrie n fiierul text numere.out acele numere de pe a doua
linie a fiierului numere.in care au exact p cifre comune cu numrul x. Numerele vor fi scrise pe aceeai
linie, desprite prin cte un spaiu. (6p.) c) Descriei succint, n limbaj natural, metoda de rezolvare
folosit la punctul b (3 4 rnduri)

numere.in 345638 3 numere.out

123 45239 96583 900583 635 78900 45239 900583 635

22. Subprogramul Cifra, cu doi parametri, n i x, primete prin intermediul parametrului n un numr
natural de cel mult nou cifre i furnizeaz prin parametrul x cea mai mare cifr a numrului transmis
prin parametrul n. a) Scriei definiia complet a subprogramului Cifra. (6p.) b) Scriei un program C/C++
care citete de la tastatur un numr natural n, (0<n<1000) iar pe a doua linie, separate prin cte un
spaiu, n numere naturale cu cel mult nou cifre fiecare. Scriei un program C/C++ care citete de la
tastatur o cifr c, i, folosind apeluri utile ale subprogramului Cifra, determin pentru cte dintre
numerele de pe a doua linie a fiierului NUMERE.IN, cifra c reprezint cifra maxim. Programul scrie pe
primul rnd al fiierul text NUMERE.OUT mesajul DA dac exist astfel de valori i pe al doilea rnd
numrul acestora, iar dac nu exist va scrie n fiier mesajul NU. (10p.) Exemplu: dac cifra citit este 8

NUMERE.IN conine NUMERE.OUT va conine

10 DA 2

725 3695 423 0 7895 0 100 101 870 568

23. Scriei n limbajul C/C++ definiia complet a subprogramului Invers, cu doi parametri, n i x, care
primete prin intermediul parametrului n un numr natural de cel mult nou cifre i furnizeaz prin
parametrul x numrul obinut prin inversarea ordinii cifrelor sale, ca n exemplu. Exemplu: dac n=78904
atunci, dup apel, x=40987

24. Scriei definiia complet a unui subprogram s, cu trei parametri, n, c, k, care primete prin
intermediul parametrului n un numr natural de maximum 9 cifre, prin intermediul parametrului c o cifr
i furnizeaz prin intermediul parametrului k numrul de cifre ale lui n care aparin intervalului [c-1,c+1].
Exemplu: pentru n=1233 i c=3, k va avea valoarea 3, iar pentru n=650 i c=3, k va avea valoarea 0.

25. Scriei definiia complet a unui subprogram max_d cu trei parametri, n, m1, m2, care primete prin
intermediul parametrului n un numr natural cu cel puin dou cifre i cel mult nou cifre i care
returneaz prin intermediul parametrilor m1 i m2 cele mai mari dou cifre ale numrului n. Cifra
returnat prin intermediul parametrului m1 va fi mai mare sau egal cu cea returnat prin intermediul
parametrului m2. Exemplu: pentru n=128773, subprogramul returnez prin intermediul parametrului m1
valoarea 8 i prin intermediul parametrului m2 valoarea 7.
26. Scriei definiia complet a subprogramului numar, cu doi parametri, care primete prin intermediul
parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul parametrului c o cifr
nenul; subprogramul returneaz numrul obinut prin nlocuirea fiecrei apariii a cifrei c n numrul n
cu partea ntreag a valorii (c+1)/2. Dac c nu apare n n, subprogramul returneaz valoarea n. Exemplu:
pentru n=1525735, c=5 valoarea returnat va fi 1323733.

27. Scriei definiia complet a subprogramului numar, cu doi parametri, care primete prin intermediul
parametrilor a i b dou numere naturale, a fiind format din cel mult 9 cifre, iar b fiind un numr natural
strict mai mic dect numrul de cifre ale lui a. Subprogramul nlocuiete cu 1 primele b cifre ale
numrului a i returneaz valoarea astfel obinut. Exemplu: pentru a=184465709 i b=5, valoarea
returnat va fi 111115709

28. Scriei definiia complet a subprogramului numar, cu patru parametri, care primete prin
intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul
parametrilor c1 i c2 cte o cifr, cu proprietatea c1

29. Scriei definiia complet a subprogramului numar, cu trei parametri, care primete prin intermediul
parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul parametrilor c1 i c2
cte o cifr nenul. Subprogramul caut fiecare apariie a cifrei c1 n n, i dac aceasta apare, o
nlocuiete cu c2. Subprogramul furnizeaz tot prin n numrul astfel obinut. Dac cifra c1 nu apare n n,
atunci valoarea lui n rmne nemodificat. Exemplu: pentru n=149448, c1=4 i c2=2, valoarea furnizat
prin n va fi 129228. (10p.)

30. Subprogramul par primete prin singurul su parametru, n, un numr natural nenul cu cel mult 8
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 numai antetul
subprogramului par. (2p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul
n cu cel mult trei cifre, apoi un ir de n numere naturale, cu cel puin dou i cel mult 8 cifre fiecare, i
afieaz pe ecran numrul de valori din irul citit care au numai cifra unitilor par, celelalte cifre fiind
impare. Se vor utiliza apeluri utile ale subprogramului par. Exemplu: dac n=4, iar irul citit este 7354,
123864, 51731, 570 se va afia 2 (numerele 7354 i 570 respect condiia cerut).

31. 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

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