Documente Academic
Documente Profesional
Documente Cultură
1. Într-o list simplu înl n uit alocat dinamic de cel pu in 3 elemente, fiecare element re ine în câmpul
adr adresa elementului urmtor. Dac variabilele p,q i u re in adresele unor elemente din aceast
list astfel încât u->adr->adr==q i p->adr==q atunci este adev rat rela ia:
a. p==q b. u->adr!=p c. q->adr==p d. u->adr==p
5. Care este num rul minim de noduri pe care îl poate con ine un graf neorientat cu 50 de muchii, i în
care 15 noduri sunt izolate?
a. 25 b. 66 c. 65 d. 26
6. Folosind numai cifrele {0,5,3,8}, se construiesc, prin metoda backtracking, toate numerele cu 3
cifre în care oricare dou cifre al turate nu au aceea i paritate. Se ob in, în ordine numerele: 505,
503, 585, 583, 305, 303, 385, 383, 850, 858, 830,838. Utilizând acela i algoritm
pentru a ob ine numere cu patru cifre din mul imea {0,3,6,2,9}, în care oricare dou cifre
al turate nu au aceea i paritate, al aselea numr care se ob ine este:
a. 3092 b. 3690 c. 6309 d. 3096
7.
Se consider graful orientat G=(V, E) unde V={1, 2, 3, 4, 5, 6} i E={[1,2], [6,1],
[2,5], [2,3], [4,5], [3,4], [6,5]}. Care este numrul maxim de arce dintr-un drum
elementar al grafului ( drum cu noduri distincte)?
a. 3 b. 6 c. 4 d. 5
8. Care din urmatoarele subprograme predefinite realizeaz concatenarea a dou iruri de caractere?
a. strcat b. strcmp c. concat d. paste
3. Fi ierul DATE.IN con ine cel mult 100000 numere naturale separate prin spa ii, fiecare numr cu
maximum dou cifre. S se realizeze un program C sau C++ care scrie în fi ierul DATE.OUT
num rul numerelor din fi ierul DATE.IN care apar exact o dat în fi ier.
Exemplu: dac fi ierul DATE.IN con ine:45 13 12 2 5 23 65 13 13 13 13 fi ierul DATE.OUT
va avea urmtorul con inut: 6
(10p.)
scrie ok
Scrie i un program C sau C++ care cite te de la tastatur un numr natural n cu cel mult nou cifre
1.
i care determin dac exist un numr natural k cu proprietatea c n=1⋅⋅2⋅⋅3⋅⋅…⋅⋅k. Dac exist un
astfel de num r, programul va afi a pe ecran mesajul DA urmat de num rul k, separate printr-un
spa iu, altfel va afi a mesajul NU (ca în exemple).
Exemple: pentru n=720 se va afisa „DA 6” pentru c 6!=720; 6!=1*2*3*4*5*6
pentru n=721 se va afisa „NU
(10p.)
2. a) Scrie i în limbajul C sau C++ defini ia complet a subprogramului f care prime te prin intermediul
parametrului n un num r natural de cel mult 8 cifre iar prin intermediul parametrului k un numr prim
cu cel mult 8 cifre. Subprogramul returneaz prin parametrul p numrul care reprezint puterea la
care apare k în descompunerea în factori primi a numrului n i prin parametrul n câtul ob inut prin
împr irea numrului n la numrul kp.
Exemplu : Dac n i p sunt variabile întregi iar n re ine ini ial valoarea 500, în urma apelului
f(n,5,p) n va primi valoarea 4 iar p va primi valoarea 3. (4p.)
b) Scrie i un program C sau C++ care cite te de la tastur un numr natural nenul n cu cel mult opt
cifre i care folosind apeluri ale subprogramului definit la punctul a) determin o valoare minim b
care verific rela ia
n = a2 b, a,b ∈ N*
Exemple : pentru n=21560 se afi eaz 110 deoarece 21560=142 110 ; exist i alte posibilit i de
a-l scrie pe 21560 sub forma cerut, dar în acestea valoarea lui b este mai mare decât 110 (de
exemplu, 21560 =72 440)
(6p.)
Se consider fi ierul DATE.IN care con ine cel mult 100000 de numere naturale formate fiecare din
3.
cel mult opt cifre, separate prin câte un spa iu. Scrie i un program C sau C++ care scrie în fi ierul
DATE.OUT o valoare care reprezint num rul de cifre care NU au aprut în niciunul din numerele
aflate în fi ierul DATE.IN.
Exemple:
DATE.IN DATE.OUT
12 222 12 21 87 6 89 788 3 900 2
Explica ii:
-sunt dou cifre care nu au ap rut în scrierea numerelor din fi ierul DATE.IN. i anume 4 i 5 (10p.)
a) Scrie i defini ia complet a subprogramului sub care, prin intermediul unui parametru p prime te
adresa primului element dintr-o list simplu înl n uit alocat dinamic, iar prin parametru k un numr
natural cu cel mult opt cifre; subprogramul returneaz num rul elementelor din list care con in valori
mai mici sau egale cu k.
Exemplu: dac lista contine numerele: 12, 5, 30, 18, 47, 8 si k=25 subprogramul
returneaza valoarea 4.
(5p.)
b) Se consider o list liniar simplu înln uit alocat dinamic cu elemente de tipul nod. Variabila
prim re ine adresa primului nod al listei. Scrie i declarrile de variabile necesare i secven a de
program C sau C++ în care se citesc dou numere naturale a i b (fiecare fiind format din cel mult
opt cifre i a<b) i care determin i afi eaz pe ecran numrul valorilor din list ce apar in
intervalului (a,b], folosind apeluri ale subprogramului de la punctul a).
Exemplu : dac lista contine numerele: 6, 9, 7, 3, 5, 8 i a=4, b=7 se va afisa: 3
(5p.)
3. Fi ierul DATE.IN con ine cel mult 1000 de caractere alfanumerice. Se cite te de la tastatur un
cuvânt format din cel mult 50 de caractere alfanumerice. S se scrie un program C sau C++ care
afi eaz pe ecran mesajul DA dac toate caracterele din cuvântul citit se regsesc în fi ier, fr a
conta numrul apari iilor lor sau ordinea în care apar i mesajul NU în caz contrar.
Exemplu: dac fi ierul DATE.IN are urmtorul con inut abc1a2bcdefgfgx7mnpo iar cuvântul citit
este examen rspunsul afi at pe ecran va fi DA (10p.)