Sunteți pe pagina 1din 7

1.

2.

3.
4.

5.

6.
7.

8.

Fişierul text BAC.TXT conţine un şir s de cel mult un milion de numere naturale, formate fiecare din cel
mult 9 cifre, separate prin câte un spaţiu
a) Scrieţi un program C/C++ care citeşte numerele din fişier şi determină, utilizând un algoritm eficient
din punct de vedere al memoriei utilizate şi al timpului de executare, lungimea secvenţei obţinute prin
eliminarea din cele două extremităţi ale şirului s a unui număr minim de numere, fără 25 a schimba
ordinea celorlalte numere, astfel încât secvenţa rezultată să înceapă cu un număr format doar din cifre
pare şi să se termine cu un număr format doar din cifre impare. Programul va afişa pe ecran lungimea
secvenţei obţinute. De exemplu, dacă fişierul BAC.TXT conţine numerele: 132 214 62 34 28 34 8 45 18
72 35 12 17 34 4 135 63 81 101 pe ecran se va afişa numărul 14, deoarece secvenţa căutată se obţine
prin eliminarea numerelor subliniate şi este formată din 14 numere (8p.)
b) Descrieţi în limbaj natural algoritmul proiectat justificând eficiența acestuia. (2p.)

9.
10.
Se considera sirul: 2,2,2,5,4,4,4,4,8,6,6,6,6,6,6,11,…

11.

12.

13.
In fisierul date.txt se afla mai multe numere intregi de maxim 6 cifre fiecare. Sa se afiseze in fisierul de
iesire date.out suma nr de o cifra aflate in fisier, cele mai mici doua nr de doua cifre care NU se gasesc si
cele mai mari doua numere de 3 cifre care se gasesc in fisier.
Exemplu
Date.txt contine numerele
10 210 4 11 6 199 -98 3 987 2 102 1
In date.out se va afisa
16 (4+6+3+2+1)
-99 -97
210 987
14.

Fişierul text SIR.TXT conţine pe prima linie un număr natural n (1≤n≤10000) şi pe a doua linie, separate
prin spaţii, un şir crescător de n numere naturale cu cel mult 9 cifre fiecare. Numim platou într-un şir de
valori o secvenţă de elemente identice situate pe poziţii alăturate. Lungimea unui platou este egală cu
numărul de elemente care îl formează.
a) Scrieţi un program C/C++ care citeşte valorile din fişier şi, printr-o metodă eficientă din punct de
vedere al timpului de executare şi al spaţiului de memorie utilizat, afişează pe ecran, separate printr-un
spaţiu, lungimea maximă a unui platou, precum şi valoarea care formează platoul. În cazul în care sunt
mai multe platouri de aceeaşi lungime se va afişa valoarea cea mai mare care formează unul dintre
aceste platouri. (6p.)
Exemplu: dacă fişierul SIR.TXT
are conţinutul alăturat,
10
11 211 211 211 328 400 400 1201 1201 1201
atunci programul va afişa pe ecran 3 1201.
b) Descrieţi succint, în limbaj natural, metoda utilizată la punctul a), justificând eficienţa acesteia. (4p.)

15.
Fişierul text NUMERE.TXT conţine pe prima linie un număr natural n (1≤n≤10000) şi pe a doua linie, n
numere naturale cu cel mult 9 cifre fiecare, numere nu neapărat distincte.
Aceste numere sunt dispuse în ordine crescătoare şi separate între ele prin câte un spaţiu.
a) Scrieţi un program C/C++ care citeşte valorile din fişier şi, printr-o metodă eficientă din punct de
vedere al timpului de executare şi al spaţiului de memorie utilizat, afişează pe ecran, cu un spaţiu între
ele, valoarea care apare de cele mai multe ori în fişier şi de câte ori apare ea. Dacă există mai multe
valori care apar de un număr maxim de ori, se va afişa cea mai mică dintre ele. (6p.)
Exemplu: dacă fişierul NUMERE.TXT are conţinutul
alăturat,
8
711 711 711 11111 11111 11111 191111 231111
atunci programul va afişa pe ecran 711 3.
b) Descrieţi succint, în limbaj natural, metoda utilizată la punctul a, justificând eficienţa acesteia. (4p.)

16.
a) Scrieţi definiţia completă a funcţiei UltimaCifra care primeşte prin cei doi parametri a şi b câte un
număr natural (0<a<30000, 0<b<30000), calculează în mod eficient din punct de vedere al timpului de
executare şi returnează ultima cifră a numărului ab (a la puterea b).
(6p.)
b) Descrieţi succint, în limbaj natural, metoda de rezolvare folosită, explicând în ce constă eficienţa ei (3
– 4 rânduri) (4p.)
c) Fişierul text SIR.IN conţine pe prima sa linie un număr natural n (0<n<1001), iar pe fiecare dintre
următoarele n linii câte o pereche de numere naturale, xi yi (1≤i≤n, xi≤30000, yi≤30000).
Scrieţi programul C/C++ care citeşte numerele din fişierul SIR.IN şi scrie în fişierul text SIR.OUT ultima
cifră a expresiei:

Exemplu: dacă fişierul SIR.IN are conţinutul alăturat,


3
25 6
8 10
1 4589
atunci
SIR.OUT va conţine cifra 0. (10p.)

17.

18.

20.

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