V10 S3 P4

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n≤100) şi apoi
cele n elemente, numere naturale cu cel mult 4 cifre fiecare, ale unui tablou unidimensional
a. Programul determină şi afişează pe prima linie a ecranului suma celor n elemente ale
tabloului, pe a doua linie a ecranului suma primelor n-1 elemente şi aşa mai departe astfel
încât pe linia n-1 se va afişa suma primelor două elemente, iar pe linia n primul element al
tabloului.

Exemplu: dacă n=4, iar tabloul are elementele a=(1,2,3,4) programul
va afişa valorile alăturate.

10
6
3
1

V9 S3 P3

Se consideră definite două subprograme:
– Subprogramul s1, cu 3 parametri, care primeşte prin intermediul parametrului a un tablou
unidimensional cu exact 100 de elemente, numerotate de la 0 la 99, numere întregi de cel
mult 4 cifre fiecare, iar prin intermediul parametrilor p şi q (0≤p<q<100) poziţiile a două
elemente ale tabloului. Subprogramul furnizează prin intermediul parametrului p poziţia
primului element par (dacă există), şi prin intermediul parametrului q poziţia ultimului
element impar (dacă există), din secvenţa ap,ap+1, …, aq. Dacă această secvenţă nu
conţine niciun element par subprogramul va furniza prin intermediul lui p valoarea -1, iar
dacă nu conţine niciun element impar, va furniza prin intermediul lui q valoarea -1.

– Subprogramul s2, cu doi parametri, a şi b, două numere întregi cu cel mult 4 cifre fiecare;
subprogramul interschimbă valorile a două variabile transmise prin intermediul parametrilor
a şi b.
a) Scrieţi numai antetul subprogramului s2.

b) Scrieţi definiţia completă a subprogramului s1.

c) Scrieţi un program C/C++ care:
– citeşte de la tastatură un număr natural nenul n (0≤n<100), apoi cele n elemente ale unui
şir a. Fiecare dintre aceste elemente este un număr întreg cu cel mult 4 cifre şi cel puţin un
element al şirului este par;
– determină rearanjarea elementelor şirului astfel încât toate valorile pare să fie plasate la
sfârşitul şirului a, folosind apeluri utile ale subprogramelor s1 şi s2;
– scrie elementele şirului rezultat în urma acestei transformări pe o singură linie a fişierului
text BAC.TXT, separate prin câte un spaţiu.

Exemplu: pentru n=5 şi a=(2,3,4,7,5) fişierul ar putea avea conţinutul:
7 5 3 4 2.

Punctul a)

Punctul b)

Punctul c)

V8 S3 P4

Se consideră definite următoarele subprograme:
– p1 care primeşte prin intermediul parametrului n un număr natural cu cel mult 8 cifre şi
returnează suma cifrelor numărului n

Exemplu: dacă n este egal cu 1234 valoarea returnată de subprogram va fi 10.

-p2 care primeşte prin intermediul parametrului n un număr natural cu cel mult 8 cifre, şi
returnează numărul obţinut prin eliminarea ultimei cifre a lui n.

Exemplu: dacă n este egal cu 1234 valoarea returnată de subprogram va fi 123.

a) Scrieţi numai antetul subprogramelor p1 şi p2.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural nenul n cu cel
mult 8 cifre şi determină, prin apeluri utile ale subprogramelor p1 şi p2, numărul de cifre
egale cu 0 din scrierea lui n. Programul va afişa pe ecran numărul obţinut.
Exemplu: dacă n este 102030, programul va afişa valoarea 3.

Punctul a)

Punctul b)

V8 S3 P3

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n≤50) şi care
afişează pe prima linie a fişierului BAC.TXT primele n numere pare, pe a doua linie primele
n-1 numere pare, …, pe linia n primul număr par. Numerele vor fi afişate pe fiecare linie în
ordine crescătoare şi vor fi separate prin câte un spaţiu. (10p.)

Exemplu: dacă n=3 fişierul BAC.TXT va avea conţinutul alăturat.
0 2 4
0 2
0

V7 S3 P4

Se consideră şirul definit de următoarea relaţie de recurenţă:
Captură de ecran_2013-08-12_161857

a) Scrieţi numai antetul unui subprogram sub, care primeşte prin intermediul parametrului n
un număr natural de maximum 8 cifre, şi care returnează cel mai mare termen al şirului de
mai sus mai mic sau cel mult egal cu n.

Exemplu: dacă n=83 atunci subprogramul va returna valoarea 80.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural s (s≤10000000)
şi determină un şir de numere distincte a căror sumă este egală cu s, folosind apeluri utile
ale subprogramului sub. Numerele determinate se vor scrie în fişierul Numere.txt, pe
prima linie a acestuia, separate prin câte un spaţiu.

Exemplu: dacă valoarea citită de la tastatură este 63, atunci fişierul Numere.txt va
conţine valorile următoare, nu neapărat în această ordine: 40 20 3.

Punctul a)

Punctul b)