Sunteți pe pagina 1din 5

FIŞA 24 – Metoda de programare Greedy

Pentru fiecare dintre următoarele enunţuri scrieţi programul C++ corespunzător.

1. Fișierul date.in conține pe prima linie un număr natural n (n<100), iar pe fiecare din
următoarele n linii numele unui elev urmat numărul de note în oral, notele din oral și de
nota la teză. Numele elevului este un șir de cel mult 20 de caractere. Să se determine
și să se afișeze în fișierul date.out pe prima linie media cea mai mică, iar pe
următoarele linii în ordine alfabetică numele elevii cu media cea mai mică.

2. Se dă un vector a cu n componente nume întregi, fiecare număr având cel mult șase
cifre. Pe primul rând al fișierul se află numărul n (n<100), iar pe următorul rând cele n
componente ale vectorului Să se construiască și să se afișeze în fișierul numere.out
vectorul b care va conține cele mai mici trei elemente pozitive și cele mai mari trei
elemente negative. Dacă vectorul nu conține aceste elemente se va afișa în fișier
mesajul ”Nu există soluție”.

3. Fișierul numere.in conține un șir de cel mult 500 de numere naturale separate prin
câte un spațiu, fiecare număr având cel mult nouă cifre, reprezentând elementele unui
șir a. Să se construiască două șiruri astfel:
- șirul b care să conțină în ordine strict crescătoare elementele din șirul a care au un
număr minim de divizori;
- șirul c care să conțină în ordine strict descrescătoare elementele din șirul a care au un
număr maxim de divizori.
Dacă toate elementele șirului a au același număr de divizori se va afișa în fișierul
divizori.out mesajul ”Nu există soluție”, altfel se va afișa pe primul rând al
fișierului elementele șirului b, iar pe al doilea rând elementele șirului c.

4. Fișierul sir.in conține un text având cel mult 500 de caractere litere mici ale
alfabetului englez. Să se determine și să se afișeze în fișierul șir.out, în ordine
alfabetică literele care apar de cele mai multe ori.

5. Fișierul numere.in conține pe prima linie un număr natural n (n<100), iar pe


următoarea linie n numere naturale fiecare având cel mult nouă cifre, reprezentând
elementele șirului a. Să se determine și să se afișeze în fișierul număr.out cel mai
mare număr rațional subunitar, în care numărătorul și numitorul aparțin șirului dat.

6. Fișierul date.in conține pe prima linie un număr natural n (n<100), iar pe


următoarea linie n numere naturale fiecare având cel mult nouă cifre, reprezentând
elementele șirului a. Să se determine șirul s care va conține în ordinea descrescătoare
a valorii lor, elementele din șirul a care au cel puțin trei cifre de zero sau trei cifre de
unu, în reprezentarea în baza doi. Șirul construit se va scrie pe prima linie a fișierului
date.out. Dacă în fișier nu există astfel de elemente se va scrie în fișier mesajul ”Nu
există soluție”.

7. Fișierul cuvinte.in conține cel mult 100 de cuvinte, fiecare cuvânt pe un rând de
fișier, cuvinte formate din cel mult 20 de litere mici ale alfabetului englez. Să se afișeze
în fișierul cuvinte.out, pe câte un rând de fișier, în ordine lexicografică, cuvintele

1 FIŞA 24 – Metoda de programare Greedy


prof. Marius UDUDEC | Colegiul Național ”Petru Rareș” Suceava
date care au în componență cel puțin trei vocale. Dacă nu există astfel de cuvinte se va
afișa mesajul ”Nu există soluție”.

8. Se dau coordonatele a n puncte în plan (xi,yi), 1≤i≤n. Să se afișeze


segmentul/segmentele de lungime maximă, precum și această lungime. Datele de
intrare se preiau din fișierul puncte.in, iar datele de ieșire ale problemei se vor afișa
în fișierul puncte.out.

9. Fișierul date.in conține pe primul rând un elementele unui șir de numere naturale, iar
pe al doilea elementele unui alt șir de numere naturale. Fiecare element din cele două
șiruri au cel mult nouă cifre. Să se construiască și să se afișeze în fișierul date.out un
al treilea șir care să conțină elementele din primul șir care sunt mai mici decât toate
elementele din al doilea șir. Dacă nu există astfel de elemente se va afișa în fișier
mesajul ”Nu există soluție”.

10. Fișierul date.in conține pe prima linie un număr natural n (n<100), iar pe
următoarea linie n numere naturale fiecare având cel mult nouă cifre, reprezentând
elementele șirului a. Să se determine și să se afișeze în fișierul date.out șirul s
care va conține în ordinea crescătoare a valorii lor, elementele din șirul a care au în
scrierea lor cât mai multe cifre distincte.

11.

12.

2 FIŞA 24 – Metoda de programare Greedy


prof. Marius UDUDEC | Colegiul Național ”Petru Rareș” Suceava
13.

14.

15.

16.

17.

3 FIŞA 24 – Metoda de programare Greedy


prof. Marius UDUDEC | Colegiul Național ”Petru Rareș” Suceava
18.

19.

20.

21.

4 FIŞA 24 – Metoda de programare Greedy


prof. Marius UDUDEC | Colegiul Național ”Petru Rareș” Suceava
22.

23.

24.

25.

5 FIŞA 24 – Metoda de programare Greedy


prof. Marius UDUDEC | Colegiul Național ”Petru Rareș” Suceava