Sunteți pe pagina 1din 2

FISA DE LUCRU

Subiectul nr. 1
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,(5<n<30). Pe cea de-a
doua linie a fiierului sunt scrise n numere naturale separate prin cte un spaiu, formate fiecare din cel mult 4 cifre,
reprezentnd un ir de n numere naturale nenule. Cel puin unul din cele n numere din ir este numr impar.
S se scrie un program, n limbajul C/C++, care:
a) afieaz pe ecran, n linie, separate printr-un spaiu, toate numerele impare din ir;
b) afieaz pe urmtoarea linie a ecranului, separate prin cte un spaiu, numrul cifrelor fiecrui element din irul
dat;
c) scrie n fiierul atestat.out cel mai mare divizor comun al elementului minim i cel maxim din ir.
Exemplu:
atestat.in Date de ieire:
6
1232 543 98 233 242 33
a)
b)

c)
543 233 33
4 3 2 3 3 2
Fiierul atestat.out conine:
11

Subiectul nr. 2
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,(5<n<30). Pe cea de-a doua
linie a fiierului sunt scrise n numere naturale separate prin cte un spaiu, formate fiecare din cel mult 4 cifre,
reprezentnd un ir de n numere naturale. Cel puin unul din cele n numere din ir are cifra unitilor mai mare dect
numrul 5.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) afieaz pe ecran, n linie, separate printr-un spaiu, toate numerele care au ultima cifr mai mare dect numrul
5;
b) afieaz pe urmtoarea linie a ecranului, numrul apariiilor elementului maxim din ir;
c) scrie n fiierul atestat.out, separate prin cte un spaiu, toate numerele prime din irul dat. Un numr
natural este prim dac are exact doi divizori distinci (numrul 1 i numrul n sine). Dac nu exist numere
prime se va scrie pe prima linie a fiierului mesajul NU EXISTA NUMERE PRIME.

Exemplu:
atestat.in Date de ieire:
6
128 2715 17 1009 61 2715
a)
b)

c)
128 17 1009
2
Fiierul atestat.out conine:
17 1009 61

Subiectul nr. 3
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,(5<n<30). Pe cea de-a
doua linie a fiierului sunt scrise n numere naturale separate prin cte un spaiu, formate fiecare din cel mult 4 i cel
puin 2 cifre, reprezentnd un ir de n numere naturale. Cel puin unul din cele n numere este format din 2 cifre.
S se scrie un program, n limbajul C/C++, care:
a) afieaz pe ecran, n linie, separate printr-un spaiu, toate numerele formate din dou cifre;
b) prin intermediul unui subprogram, afieaz pe urmtoarea linie a ecranului, mesajul DA dac suma numerelor
din ir este cuprins n intervalul [a,b]sau NU n caz contrar. Cele dou numere naturale a i b, a<b, sunt
citite de la tastatur;
c) scrie n fiierul atestat.out pe linii diferite, numerele din ir care au proprietatea ca printre numerele
precedente s existe cel puin un numr strict mai mic dect valoarea lor. Dac nu exist astfel de numere se va
scrie pe prima linie a fiierului mesajul NU EXISTA ASTFEL DE NUMERE.

Exemplu:
atestat.in Date de ieire:
6
364 35 32 472 46 1222
Se citesc de la tastatur
a=100
b=1000
a)
b)

c)
35 32 46
NU
Fiierul atestat.out conine:
472
46
1222





Subiectul nr. 4
Fiierul atestat.in conine trei linii. Pe prima linie este scris un numr natural nenul n,(5<n<30). Pe cea de-a doua
linie a fiierului sunt scrise n numere naturale, separate prin cte un spaiu, formate fiecare din cel mult 4 cifre i cel
puin 2 cifre, reprezentnd un ir de n numere naturale.
Primul numr din ir se gsete pe poziia 1, iar ultimul numr din ir se gsete pe poziia n. Cel puin unul din cele n
numere din ir are cifra zecilor impar. Pe ultima linie este scris un numr natural k, 1k<n.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) afieaz pe ecran, n linie, separate printr-un spaiu, toate numerele din ir, care au cifra zecilor impar;
b) afieaz pe urmtoarea linie a ecranului, separate prin cte un spaiu, elementele din ir dup interschimbarea
elementului de pe poziia k, cu elementul de pe poziia k+1;
c) scrie n fiierul atestat.out pe o linie, separate prin cte un spaiu, toate numerele supraperfecte din irul
rezultat la punctul b. Un numr natural se numete supraperfect dac suma divizorilor si, exceptnd numrul
nsui, este mai mare dect numrul dat, de exemplu: 18<1+2+3+6+9. Dac nu exist astfel de numere, se va
scrie pe prima linie a fiierului mesajul NU EXISTA NUMERE SUPRAPERFECTE.

Exemplu:
atestat.in Date de ieire:
6
6138 12 496 2523 18 1243
3
a)
b)
c)
6138 12 496 18
6138 12 2523 496 18 1243
Fiierul atestat.out conine:
6138 12 18





cout<<endl<<"Numerele cifrelor numerelor: ";
for(i=0; i<n; i++)
{c=0;
while(a[i]!=0)
c++;
a[i]/=10;
cout<<c<<" ";}