Documente Academic
Documente Profesional
Documente Cultură
Exemplu: a=15, b=3 => programul afiseaza: s=18, d=12, p=45, c=5
5. Într-un brad sunt a globuri albe, de două ori mai multe globuri roșii, globuri
verzi cu 4 mai puține ca numărul de globuri roșii. Câte globuri avem albe, rosii
sau verzi? Dar cate globuri sunt în total?
6. Într-o clasă sunt F fete și B băieți. Fiecare fată citește 3 pagini pe zi și fiecare
băiat citește 2 pagini pe zi. Câte pagini vor citi copii în n zile?
7. Într-un parc sunt n alei. Pe fiecare alee sunt n arbori. Fiecare arbore are n
crengi. Pe fiecare creanga sunt n cuiburi. În fiecare cuib sunt n păsări. Câte
păsări sunt în parc?
Exemplu: n=3 => programul afiseaza: pasari= 243
1
8. Într-o curte sunt câini, pisici și găini. Se știe că numărul de pisici este egal cu
dublul numărului de câini, iar numărul de găini este egal cu dublul numărului
de pisici. Dacă în curte sunt C câini, câte animale sunt în curte? Dar din fiecare
animal?
Exemplu: câini =3 => programul afiseaza: câini =3, pisici =6, găini =12,
Total 21 globuri
12. O cutie cu bomboane costă x lei. Ionel are N lei. Determinați câte cutii cu
bomboane poate cumpăra Ionel și câți lei trebuie să mai primească pentru a
cumpăra încă o cutie.
2
Exemplu: x=4, N=9 => programul afiseaza: cutii=2, lei_pt_o_cutie = 3
13. Pe planeta Saturn anul durează z zile. Gigel își serbează ziua de naștere și
constată că a trăit n zile. Câte lumânări va avea tortul lui Gigel?
14. Câte cutii cubice de latură l pot fi suprapuse într-o încăpere de înălțime h.
16. Se citește n număr natural. Calculați suma tuturor numerelor naturale mai
mici sau egale cu n.
Restricții: n ≤ 1000
Exemplu: n=7 => programul afiseaza: s=28 -> (1+2+3+4+5+6+7=28)
Restricții: n ≤ 1000
Exemplu: n=3 => programul afiseaza: s=12 -> (sum = sum +i*2 )
3
7 este norocos: 7 * 7 = 4 + 5 + 6 + 7 + 8 + 9 + 10
20. Să se scrie un program care determină maximul a două numere întregi citite
de la tastatură.
21. Scrieți un program care determină câte sticle de x litri cu apă trebuie
deschise pentru a umple un vas de y litri.
22. Se citeste un numar natural n cu cel mult 2 cifre. Afisati pe ecran o figura
formata din caracterul *, ca in exemplul alaturat pentru n=4.
Exemplu:
23. Se citeste un numar natural n cu cel mult 2 cifre. Afisati pe ecran o figura sub
forma de romb formata cu numerele naturale de la 1 la n, ca in exemplul
alaturat pentru n=4.
Exemplu:
4
24. Scrie un program care determina daca un elev este promovat sau corigent.
Programul va afișa pe ecran corigent dacă n este mai mic ca 5, altfel va afișa
promovat.
26. La concursul de alergat pot participa copii cu vârste între a și b ani, inclusiv.
Ionel are n ani. Stabiliți dacă poate participa la concurs.
27. Se dau trei numere naturale a, b,c. Să se verifice care este minimul celor 3
numere.
28. Se dau varstele a doi copii (a si b), afisati care dintre ei este cel mai mare si
cu cat.
Exemplu: a=8, b=4 => programul afiseaza: Primul copil este mai mare
cu 4 ani
5
30. Să se scrie un program care citeşte de la tastatură trei numere naturale și
determină diferenţa dintre cel mai mare şi cel mai mic.
31. Ana are S lei. O ciocolata costă c lei, iar o napolitană costă n lei. Ana poate
să cumpere fie ciocolate, fie napolitane, cu condiția să cheltuiască întreaga sumă.
Scrieți un program care să citească numerele S, c, n și să afișeze pe ecran:
"Ciocolate sau napolitane" - dacă Ana poate alege să cumpere ciocolate sau
napolitane;
Ciocolata - dacă Ana poate să cumpere numai ciocolate;
Napolitana - dacă Ana poate să cumpere numai napolitane;
NIMIC - dacă Ana nu poate să cumpere nici ciocolate, nici napolitane.
32. Se apropie Pastele. Ana a văzut la magazin trei jucării care îi plac: cel mai
mult îi place o dronă, care costă d lei, apoi îi place un robot care costă r lei, apoi o
mașină care costă m lei, d > r > m. De Paste Ana merge la colindat la rude și va primi
de la acestea S lei. Aflați ce jucărie va cumpăra Ana cu banii câștigați: drona,
robotul, masina sau niciuna dintre ele!
6
35. Se citesc 3 numere naturale z l a, reprezentand o data calendaristica in
format zi luna an. Sa se afiseze data zilei anterioare.
7
elementele cuprinse între elementul cu valoarea minimă și cel cu valoare maximă
din vector, inclusiv acestea.
43. Scrieti un program care introduce de la tastatura valorile pentre 3 laturi ale
unui triunghi notate a,b, respectiv c si inaltimea acestuia notata cu h.
a) Scrieti o functie care verifica ce fel de triunghi este: echilateral, isoscel sau
oarecare;
b) Scrieti o functie care calculeaza aria triunghiului (functia va fi de tip intreg
si va avea 2 paramentrii intregi - bazei si inaltimea, functia va returna
valoarea ariei);
c) Afisati pe ecran ce fel de triunchi este (echilateral, isoscel sau oarecare) si
aria acestuia.
Incercati sa scrieti programul cat mai usor de citit in consola.
Tips: Pt a rezolva punctul a) verificati cum am scris functia care determina rasp “DA” sau
“NU” pt problema 3 din laboratorul cursului 7.
45. La liceul de muzica sunt m clase, fiecare având n elevi. Pentru fiecare elev se
cunoaşte talentul artistic, exprimat printr-un număr natural. Să se determine
cea mai mare valoarea pe care o are talentul artistic al elevilor, notată cu
MAX şi numărul de clase din liceu în care există elevi care au talent maxim.
9
52. Citeste un vector de la tastatura dupa care verifica daca o valoare introdusa
este sau nu memorata in vectorul deja citit. Daca numarul este in vector
elimina dublura.
53. Se afiseaza elementele de pe pozitiile pare ale unui vector, dupa care, in
continuarea lor, cele de pe pozitii impare.
54. Verifica daca un numar citit de la tastatura se gaseste sau nu intr-un vector
citit si el de la tastatura.
Nota: Se ordoneaza crescator valorile din vector. Apoi, se lucreaza prin injumatatiri succesive. Mai intai
se compara numarul cautat cu elementul din mijloc. Daca este egal cu elementul din mijloc, s-a gasit
numarul si programul se termina. Daca nu este egal, se verifica daca numarul cautat este mai mare
decat elementul din mijloc, caz in care cautam mai departe numai in cea de-a doua jumatate. Daca
numarul cautat este mai mic decat elementul din mijloc, cautam mai departe numai in prima
jumatate.
55. Scrie un program care numara aparitiile unui caracter intr-un sir .
56. Scrie 2 programe care ilustreaza utilizarea functiile strrchr (), strchr ().
Programul calculeaza pozitia pe care o ocupa in sir prima aparitie a caracterulului
cautat, daca este gasit in sir sau afiseaza un mesaj, daca acest caracter nu este gasit
in sir.
57. Scrieti un program ajuta un copil sa invete tabla inmultirii pana la 10.
Programul genereaza aleator doua numere naturale mai mici decat 10, le va afisa
pe ecran si il va intreba pe copil cu cat este egal produsul lor. Daca raspunsul este
incorect, il intreaba pe copil daca doreste sa mai incerce sau daca doreste sa afle
raspunsul corect. Programul repeta invatarea pana cand copilul raspunde cu ‘N’
(nu).
Nota:
Pentru generarea aleatoare a doua numere naturale mai mici decat 10 va trebui sa se initializeze generatorul de
numere aleatoare, cu ajutorul functiei randomize() declarata in fisierul antet stdlib.h astfel:
void randomize(void);
ceea ce inseamna ca functia nu are parametrii si nu returneaza nici un rezultat.
Dupa initializarea generatorului de numere aleatoare, pentru a genera un numar aleator se va utiliza functia
random (), declarata in fisierul antet stdlib.h astfel:
int random (int x);
Functia returneaza o valoare aleatoare de tip int, cuprinsa intre 0 si x-1.
10
58. Inversarea unui sir de de caractere. Dandu-se un sir de caractere citit de la
tastatura, functia recursiva creez_invers () va crea un nou sir care este inversul
sirului citit si apoi va afisa pe ecran sirul de caractere creat in ordine inversa.
61. Scrieti un program care creaza doua functii cu acelasi nume combin_v care
combina doi vectori A si B de n elemente, conform relatiilor urmatoare:
A[i] = A[i] + B[i]
B[i] = A[i] *B[i], pentru orce i = 0, 1, 2, …, n-1
Prima functie combin_v accepta vectori de tip int, in timp ce a doua
functie combin_v accepta vectori de tip float.
11
Exp:
62. Ionel are p iepuri pe care vrea să-i distribuie în n cuști astfel încât:
toți iepurii să intre în cuști
fiecare cușcă să conțină cel puțin un iepure
să nu existe două cuști cu același număr de iepuri
diferența dintre numărul maxim de iepuri dintr-o cușcă și numărul minim de
iepuri dintr-o cușcă să fie minimă
Determinați o modalitate de distribuire a iepurilor în cuști care să respecte
condițiile de mai sus.
12
64. Studentii dintr-o facultate vor să facă un top al celor mai bune 10 melodii
pentru fiecare săptămană. Ajutaţi-i să realizeze un program prin care se
introduc n date de forma:
titlu melodie
interpret
număr puncte acumulate
număr puncte primite
Sa se afiseze primele 10 titluri, in ordinea descrescătoare a punctelor.
65. Intr-o grupă de maxim 25 de studenti, fiecare a primit cate unul din
calificativele suficient, bine şi foarte bine la fiecare din cele 10 materii.
Datele se introduc in calculator sub forma:
nume student
număr de calificative suficient (s)
număr de calificative bine (b)
număr de calificative foarte bine (fb)
Să se afişeze in ordine descrescătoare statistica notării (numărul de suficient,
de bine şi foarte bine) şi numele studentului cu cele mai multe calificative fb.
71. Se introduc de la tastatură mai multe şiruri formate din cuvinte despărţite
13
prin spaţii, până la tastarea sirului “terminat”. Să se afişeze numărul de cuvinte din
fiecare şir precum şi numarul caracterelor din fiecare cuvânt al şirului, utilizându-
se referirea caracterelor cu ajutorul unui pointer la şir.
73. În jocul LOL participă două echipe a câte 5 jucători notați a,b,c,d,e, respectiv
A,B,C,D,E. Fiecare jucător are o valoare, inițial 300, și un câștig, inițial 0. În joc au
loc lupte între perechi de jucători din echipe diferite, în urma fiecărei lupte fiind un
învingător și un învins. După luptă, câștigul învingătorului crește cu valoarea
învinsului, valoarea sa crește cu 50 de bani, fără să depășească 1000 de bani, iar
valoarea învinsului scade cu 50 de bani, neputând deveni mai mică decât 0.
14
74. Dorel este acum în clasa a XII-a și nu dorește să dea examenul de Bacalaureat,
ci să ajungă direct la vacanța de vară. Pentru a se teleporta în timp și a ajunge la o
zi după examen, acesta se folosește de o aplicație pentru mobil. Însă doar elevii
foarte inteligenți au dreptul să călătorească în timp, motiv pentru care Dorel
trebuie să dovedească că face parte din acea categorie. Aplicația îi generează un
număr natural aleatoriu, N și N cifre aleatorii. Pentru a intra în aplicație, Dorel
trebuie să introducă codul de securitate, care este cel mai mic număr care se poate
forma din toate cele N cifre. Dorel nu poate face singur acest lucru, dar își dorește
mult să vină vacanța de vară și vă roagă pe voi să-i generați codul de securitate.
Exemplu: 12, push 5, push 4, top, push 7, push -5, pop, top, pop, top,
push 11, top, pop => programul afiseaza: 4, 7, 4, 11
78. Gigel are un set de n cuburi. Fiecare cub este marcat cu un număr natural, de
la 1 la n și i se cunoaște lungimea laturii – număr natural. Cu o parte dintre
aceste cuburi Gigel va construi o stivă, astfel:
79. Scrieti o functie recursiva cu numele cifre care primeste prin parametrul n
un numar natual si furnizeaza:
- prin parametrul p numarul format cu cifrele pare ale lui n,
- prin parametrul i numarul format cu cifrele impare ale lui n.
Exemplu: 4536597,p,I => programul afiseaza p= 46; i =53597
16
dintr-un vector A primit ca parametru impreuna cu n reprezentand numarul
lui de elemente. Elementele tabloului sunt indexate de la 1.
82.
17