Sunteți pe pagina 1din 5

Fiiere

Probleme propuse pentru lucrul diferentiat in cadrul orelor de laborator

1. Scriei programul care citete din fiierul text BAC.TXT numrul ntreg n (1n10000) si un
ir de n perechi de numere ntregi a,b (1ab32000) fiecare pereche fiind scris pe o linie
nou a fiierului, cu un spaiu ntre cele dou numere. Programul afieaz pe ecran, pentru
fiecare pereche a,b cel mai mare numr natural din intervalul [a,b] care este o putere a lui 2
sau numrul 0 dac nu exist nicio putere a lui 2 n intervalul respectiv. Numerele afiate pe
ecran se scriu n linie, separate prin cte un spaiu.
Exemplu : dac fiierul BAC.TXT are coninutul alturat 3
pe ecran se afieaz numerele: 64 16 0 2 69
10 20
19 25

2. n fiierul text numere.txt se afl memorate: pe prima linie un numr natural n (1n99) iar
pe fiecare dintre urmtoarele n linii cte 2 numere ntregi x,y ( -100xy100), reprezentnd
capetele cte unui segment [x,y] desenat pe axa OX.
a). Scriei un program care citete din fiier datele existente, determin segmentul rezultat n
urma interseciei tuturor celor n segmente date i afieaz pe ecran dou numere desprite
printr-un spaiu ce reprezint capetele segmentului cerut. Dac segmentele nu au nici un
punct comun se va afia valoarea 0.
Exemplu : Dac fiierul numere.txt are coninutul alturat 5
pe ecran se va afia: 3 5 -7 10
3 20
-5 5
0 12
-8 30
b). Descriei n limbaj natural algoritmul utilizat

3. n fiierul text numere.txt sunt memorate, pe mai multe linii, numere ntregi (cel mult 100),
numerele de pe aceeai linie fiind desprite prin cte un spa iu, fiecare numr avnd cel mult
9 cifre. S se determine cele mai mici dou valori distincte memorate n fiier, fiecare avnd
exact 2 cifre. S se afieze pe ecran aceste valori, despr ite printr-un spa iu, n ordine
cresctoare. Dac n fiier nu se afl dou astfel de valori pe ecran se va afia valoarea 0.
a). Descriei n limbaj natural o metod de rezolvare
b). Scriei programul corespunztor metodei descrise la punctul a)
Exemplu : dac fiierul numere.txt are coninutul alturat : 5 10
pe ecran se va afia: -77 10 3 -77 20
50 5 0 12 18 30

4. Pe prima linie a fiierului text numere.txt se afl un numr natural n (n100) iar pe
urmtoarele n linii cte n numere naturale desprite prin cte un spaiu, fiecare avnd cel
mult 9 cifre. Printre aceste numere se afl cel puin unul cu 3 cifre i cel puin unul cu 4 cifre.
a). Scriei un program care citete din fiier datele existente i determin i afieaz pe ecran,
separate printr-un spaiu, dou numere din fiier x,y unde x este cel mai mare numr de 3
cifre iar y este acel numr pentru care |x-y| are valoarea minim. Dac sunt mai multe valori
pentru y care respect condiia impus, se va afia oricare dintre ele.
Exemplu : dac fiierul numere.txt are coninutul alturat 5
se va afia: 800 1100 112 333 1 500 1100
1 95 7 97 12
45 800 0 7 89
1 5 17 197 102
45 86 0 7 9
b). Descriei n limbaj natural metoda utilizat

5. Fiierul text numere.in conine: pe prima linie un numr natural nenul n (n<1000) iar pe a
doua linie n numere naturale cu cel mult 9 cifre fiecare, desprite prin cte un spa iu. S se
afieze pe ecran, separate prin cte un spaiu, numerele de pe a doua linie din fiier care ncep
i se termin cu aceeai cifr.
Exemplu : dac numere.in are coninutul alturat 9
se vor afia pe ecran: 55 3 101 7 2782 55 107 3 101 92 7 208 2782 80
6. Fisierul text numere.in contine cel mult 50000 de numere reale, cate unul pe fiecare linie.
Sa se afiseze pe ecran numarul de ordine al primei respectiv ultimei linii pe care se afla cel mai
mare numar din fisier.
Exemplu : daca fisierul numere.in are continutul alaturat 3.5
se va afisa 2 6 7
-4
7
2
7

7. Fiierul text BAC.TXT conine: pe prima linie un numr natural nenul n (n<100) iar pe a doua
linie, separate prin cte un spaiu, n numere naturale nenule cu cel mult 8 cifre fiecare. S se
citeasc de la tastatur un numr natural nenul k (k<50), apoi toate datele din fiier i s se
afieze pe ecran, cu cte un spaiu ntre ele, toate numerele de pe a doua linie a fiierului care
sunt puteri ale lui k. Dac nu exist un asemenea numr se va afia mesajul NU.
Exemplu : dac k=2 iar BAC.TXT are coninutul alturat 8
se vor afia pe ecran numerele : 32 256 2 1 32 56 317 809 256 2 1 60

8. Fiierul text BAC.TXT conine, pe o singur linie i separate prin spa iu, ntre 3 i 100 de
numere naturale nenule distincte cu cel mult 4 cifre fiecare. S se afieze pe ecran, n ordine
descresctoare, cele mai mici 3 numere aflate n fiier.
Exemplu : dac fiierul BAC.TXT conine numerele: 1017 48 310 5710 162
se va afia pe ecran: 310 162 48

9. Fiierul text BAC.TXT conine, pe o singur linie i separate prin spa iu, ntre 3 i 100 de
numere naturale nenule distincte cu cel mult 4 cifre fiecare. S se afieze pe ecran ultima cifra
a produsului celor mai mari 3 numere aflate n fiier.
Exemplu : dac fiierul BAC.TXT conine numerele: 1017 48 312 5742 162
se va afia pe ecran: 8

10. Fiierul text REAL.TXT conine numere reale dispuse pe mai multe linii iar n cadrul liniilor
separate prin spaiu. S se creeze fiierul text INTREG.TXT n care s se regseasc
coninutul fiierului REAL.TXT dar fiecare numr s fie rotunjit la cel mai apropiat ntreg.
Exemplu : dac fiierul REAL.TXT are coninutul alturat 2.3 4.05 -1.0
fiierul INTREG.TXT va avea coninutul de mai jos 12.8 -3.55
2 4 -1 -1.3
13 -4
-1

11.Fiierul text REAL.TXT conine numere reale dispuse pe mai multe linii iar n cadrul liniilor
separate prin spaiu. S se creeze fiierul text FRAC.TXT n care s se regseasc prile
fracionare ale tuturor numerelor din fiierului REAL.TXT ce nu sunt ntregi, dispuse pe o
singur linie i separate prin spaiu, cu dou zecimale exacte.
Exemplu : dac fiierul REAL.TXT are coninutul alturat 2.3 4.05 -1.0
fiierul FRAC.TXT va avea coninutul de mai jos 12.823 -3.557
0.30 0.05 0.82 0.55 -0.30 -1.3

12. Pentru un ir de numere naturale numim "nod" al irului orice termen din ir care are 2 vecini
i valoarea sa este strict mai mic dect suma valorilor vecinilor si. Fiierul text DATE.IN
conine, pe o singur linie i separate prin spaiu, ntre 2 i 10000 de numere naturale cu cel
mult 6 cifre fiecare. S se afieze pe ecran cte "noduri" are irul numerelor din fiier.
Exemplu : dac fiierul DATE.IN conine numerele de mai jos
51 20 100 43 43 618 5000 31 2020 114 116 4
se va afia pe ecran: 7

13. Pentru un ir de numere naturale numim "pol" al irului orice termen din ir care are 2 vecini
i valoarea sa este strict mai mare dect valoarea fiecruia dintre vecinii si. Fiierul text
DATE.IN conine, pe o singur linie i separate prin spaiu, ntre 2 i 10000 de numere
naturale cu cel mult 6 cifre. S se afieze pe ecran ci "poli" are irul numerelor din fiier.
Exemplu : dac fiierul DATE.IN conine numerele de mai jos
51 20 100 43 43 618 5000 31 2020 114 116 4
se va afia pe ecran: 4

14. Fiierele text A.TXT i B.TXT conin fiecare, cel mult 10000 de numere naturale cu maxim 9
cifre, separate prin spaiu.
a). S se afieze pe ecran cte dintre numerele din A.TXT sunt strict mai mici dect toate
numerele din B.TXT.
Exemplu : dac fiierul A.TXT are coninutul de mai jos
41111 81111 11111 91111 51111 111111 31111 431111 61111
iar fiierul B.TXT are coninutul de mai jos
91111 91111 61111 91111 91111 81111 61111
se va afia pe ecran valoarea 6

b). Descriei n limbaj natural algoritmul utilizat

15. Fiierul text numere.in conine cel mult 10000 de numere naturale cu maxim 9 cifre fiecare,
separate prin cte un spaiu. Cel puin unul dintre numere este palindrom. S se afieze, n
fiierul text numere.out, pe linii separate, cel mai mare numr palindrom din fiier i numrul
su de apariii n fiier.
Exemplu : dac fiierul numere.in conine numerele de mai jos
23 565 78687 7887 7865 78687 7887 23 78687 98798
fisierul numere.out va avea coninutul de mai jos
78687
3

16. Fiierul text SIR.IN conine: pe prima linie un numr natural nenul n (n<1001) iar pe fiecare
dintre urmtoarele n linii cte o pereche de numere naturale xi, yi (1in) cel mult egale cu
y1 y 2 ... yn
3000. S se afieze n fiierul text SIR.OUT ultima cifr a expresiei : x1 2 x x n

Exemplu : dac fiierul SIR.IN are coninutul alturat 3


fiierul SIR.OUT va conine cifra 0 25 6
8 10
1 4589

17. Fiierul text numere.in conine mai multe linii, pe fiecare linie existnd cte un ir de numere
naturale nenule cel mult egale cu 3000 i desprite prin cte un spa iu. Fiecare linie se
termin cu numrul 0 ( care nu face parte din ir ) i conine cel puin 2 valori. S se afieze
pe ecran valoarea maxim din irul care conine cele mai pu ine numere. n cazul n care
exist mai multe soluii se va afia oricare dintre ele.
Exemplu : dac fiierul numere.in are coninutul alturat 2 253 34 3 0
se va afia pe ecran numrul 253 6 88 9 3 0
4 54 88 12345 78 0

18. Fisierul text numere.txt contine pe prima linie un numar natural n ( n<=10000) iar pe a
doua linie n numere naturale distincte avand maxim 4 cifre fiecare, separate prin spatiu. Sa se
afiseze pe ecran pozitia pe care s-ar gasi primul numar de pe linia a doua a fisierului in cazul in
care sirul de pe linia a doua ar fi ordonat crescator.
Exemplu : daca fisierul numere.txt are continutul alaturat 6
atunci se va afisa 5 267 13 45 628 7 79

19. Fiierul text numere.in conine pe mai multe linii cel mult 30000 de numere naturale nenule
mai mici sau egale cu 500, desprite prin cte un spaiu. Fiierul con ine cel pu in 2 numere
distincte, fiecare avnd 2 cifre. S se creeze fiierul text numere.out care s conin : pe
prima linie cel mai mare numr de 2 cifre din numere.in i de cte ori apare el n acest fiier
iar pe a doua linie cel mai mic numr de 2 cifre din numere.in i de cte ori apare el n acest
fiier.
Exemplu : dac fiierul numere.in are coninutul alturat 2 253 34 3
fiierul numere.out va avea coninutul de mai jos 6 88 9 2 3
88 2 4 54 34 8
34 2
20. Fiierul text numere.in conine pe fiecare linie cte dou numere naturale nenule mai mici
sau egale cu 1000, desprite prin cte un spaiu reprezentnd numitorul i numrtorul cte
unei fracii. S se creeze fiierul text numere.out care s conin pe fiecare linie k numitorul
i numrtorul fraciei aflate n fiierul numere.in tot pe linia k dar adus la forma ireductibil.
Exemplu : dac fiierul numere.in are coninutul alturat 12 14
fiierul numere.out va avea coninutul de mai jos 11 12
6 7 4 8
11 12
1 2

21. Fiierul text BAC.TXT conine pe mai multe linii i n cadrul fiecrei linii separate prin spaiu cel
mult 2009 de numere naturale ce au maxim 9 cifre fiecare. S se afieze pe ecran cel mai mic
numr din fiier pentru care suma cifrelor pare este egal cu suma cifrelor impare, precum i
de cte ori este el scris n fiier. Dac nu exist n fiier un astfel de numr se va afia pe ecran
mesajul NU EXISTA.
Exemplu : dac fiierul BAC.TXT conine numerele de mai jos
22031 9021 22031 1021 2011 10012 1021 457008 99882
pe ecran se va afia: 1021 2

22. Fiierul text BAC.TXT conine pe mai multe linii i n cadrul fiecrei linii separate prin spaiu cel
mult 1000 de numere ntregi ce au maxim 9 cifre fiecare, dintre care cel pu in dou numere
pozitive aflate unul dup altul. S se afieze pe ecran dou numere pozitive aflate unul dup
altul n fiier, numere a cror sum este maxim n raport cu oricare alte dou numere pozitive
aflate unul dup altul n fiier. Dac exist mai multe soluii se va afia aceea n care diferen a
n modul dintre cele dou numere este maxim.
Exemplu : dac fiierul BAC.TXT conine numerele de mai jos
-2 2 16 4 -1 25 -2 8 12 7 13
pe ecran se va afia: 25 -2

23. Fie a,b dou numere naturale nenule. Notm ab numrul natural obinut prin concatenarea
cifrelor lui b n continuarea cifrelor lui a. De exemplu, dac a=13 i b=234 expresia ab are
valoarea 13234. Se consider irul S obinut ca urmare a aplicrii regulii de mai jos.
x, n=1
Sn= x+1 , n=2
Sn-2 Sn-1 , n>2

Fiierul text SIR.TXT conine: pe prima linie numerele naturale nenule x,k separate prin spaiu
(x<10, 2k5000) iar pe linia a doua un numr natural alctuit cu exact k cifre ce reprezint
un termen din irul S. S se afieze pe ecran termenul din irul S ce-l precede pe cel din fiier.
Exemplu : dac fiierul SIR.TXT are coninutul alturat 2 5
pe ecran se va afia 323 23323

24. Fiierul text DIV.TXT conine: pe prima linie numrul natural nenul a (a100) iar pe linia a
doua, separate prin spaiu, cel mult 100 de numere naturale cuprinse in intervalul [1,8].
Oricare ar fi numrul k aflat pe linia a doua n fiierul dat s se afieze pe ecran cte numere
naturale cu k cifre se divid cu numrul a. Valorile astfel obinute se vor afia separate prin cte
un spaiu.
Exemplu : dac fiierul DIV.TXT are coninutul alturat 15
pe ecran se vor afia valorile: 6 0 60 2 1 3

25. Fiierul text BAC.TXT conine un ir cu cel mult 1 milion de numere ntregi de maxim 4 cifre,
separate prin cte un spaiu. Se garanteaz c n ir exist cel pu in dou numere pare. S se
afieze pe ecran cte componente va avea irul dat n fiier dac se va elimina din el un
numr minim de valori astfel nct s rmn un ir care s nceap i s se termine cu numr
par.
Exemplu : dac fiierul BAC.TXT conine numerele de mai jos
1 245 22 67 34 29 345 8 354 11 7 34 12 45 39 41 26 67 89 1011
pe ecran se va afia valoarea 15
26. Se da, de la tastatura un numar natural k, de maxim 4 cifre. In fisierul numere.txt este
memorat un sir de maxim 10000 numere naturale distincte, cu cel mult 4 cifre fiecare,
separate prin spatiu. Se cere afisarea pe ecran a pozitiei pe care se va gasi numarul k in sirul
numerelor din fisier ordonat descrescator sau mesajul nu exista daca numarul k nu face parte
din sir.
Exemplu : daca fisierul numere.txt contine numerele : 26 2 5 30 13 45 62 7 79 iar k=13
atunci pe ecran se va afisa 6

27. Fiierul text numere.in conine: pe prima linie numrul natural n (2n100) iar pe linia a
doua un ir x1, x2, , xn de numere naturale distincte cu maxim 4 cifre fiecare, numere
separate prin cte un spaiu. Spunem c irul x1, x2, , xn formeaz o "creast" dac exist
un numr p (1<p<n) astfel nct x1<x2< <xp i xp>xp+1> >xn. S se afieze pe ecran
mesajul DA respectiv NU dup cum irul aflat n fiier pe linia a doua formeaz sau nu o
"creast". Mesajul DA va fi urmat, la un spaiu distan, de valoarea elementului xp.
Exemplu : dac fiierul numere.in are coninutul alturat 6
pe ecran se va afia: DA 26 7 12 17 26 15 3

28. Se considera fisierul text BAC.TXT ce contine un sir crescator cu cel mult 1 milion de numere
naturale de cel mult 9 cifre fiecare, separate prin spatiu. Sa se afiseze pe ecran fiecare termen
distinct din sir urmat de numarul de aparitii in sir, conform exemplului de mai jos.
Exemplu : daca fisierul BAC.TXT va contine numerele :
1 1 1 5 5 5 5 9 9 11 20 20 20 programul va afisa : 1 3 5 4 9 2 11 1 20 3

29. Fiierul text BAC.TXT conine: pe prima linie numerele naturale nenule n,k (n100, kn/2)
iar pe urmtoarea linie un ir cu n numere ntregi avnd cel mult 4 cifre fiecare i separate prin
spaiu. S se afieze pe ecran valoarea maxim ce poate fi obinut prin nsumarea a exact k
numere aflate pe poziii consecutive n irul dat.
Exemplu : dac fiierul BAC.TXT are coninutul alturat 10 5
pe ecran se va afia valoarea 26 -9 1 7 -19 2 14 5 -1 6 -2

30. In fiierul text NR.TXT s-au scris, separate prin spaiu, primele n numere naturale nenule
(n10000), cu excepia unui singur numr. S se afieze pe ecran numrul care lipsete din
fiier.
Exemplu : dac fiierul NR.TXT are coninutul alturat 3 5 2 6 1 8 10 9 7
pe ecran se va afia 4

31. Fiierul text BAC.TXT conine pe o singur linie o expresie aritmetic fr paranteze n care
operanzii sunt cifre iar operatorii sunt + respectiv -. Expresia se termina cu semnul =. S se
afieze pe ecran expresia din fiierul dat urmat de valoarea acesteia.
Exemplu : dac fiierul BAC.TXT conine expresia 2+34+6+8-5=
pe ecran se va afia: 2+34+6+8-5=10

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