V7 S3 P3

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (0<n≤100) şi cele
3*n elemente ale tabloului unidimensional v, numere naturale cu cel mult patru cifre fiecare.
Tabloul este împărţit în trei zone, cu câte n elemente fiecare: prima zonă conţine primele n
elemente din tablou, a doua zonă conţine următoarele n elemente din tablou, restul
elementelor fiind în zona a treia. Programul va interschimba elementele zonei unu cu
elementele zonei trei şi va afişa pe ecran toate elementele tabloului, astfel transformat,
separate prin câte un spaţiu.

De exemplu, pentru n=3 şi v=(1 2 3 4 5 6 7 8 9), se va afişa pe ecran :
7 8 9 4 5 6 1 2 3

V6 S3 P3

Se consideră definite următoarele subprograme:
– s1, cu doi parametri: a, b două numere întregi cu cel mult 4 cifre fiecare; subprogramul
interschimbă valorile a două variabile transmise prin intermediul parametrilor a şi b.
– s2, cu trei parametri: a, un tablou unidimensional cu exact 100 de elemente, numere
întregi cu cel mult 4 cifre fiecare, p, un număr natural (p≤100), q, un număr natural
(q≤100). Subprogramul caută primul element divizibil cu 5 în secvenţa ap,ap+1, …, aq,
şi returnează poziţia acestuia, dacă există un astfel de element, sau valoarea -1 în caz
contrar.
a) Scrieţi numai antetul subprogramului s1.

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

c) Scrieţi programul C/C++ care citeşte de la tastatură o valoare naturală n (0<n≤100) şi
apoi un tablou unidimensional a, cu n elemente, numere întregi cu cel mult 4 cifre fiecare.
Programul determină, folosind apeluri utile ale subprogramului s2, primul element divizibil
cu 5 (dacă există) şi ultimul element divizibil cu 5 (dacă există) al tabloului a, interschimbă
valorile elementelor găsite, folosind apelul subprogramului s1, şi apoi scrie pe prima linie a
fişierului text BAC.TXT elementele tabloului a, astfel transformat, separate prin câte un
spaţiu, sau valoarea 0 dacă tabloul conţine mai puţin de două elemente divizibile cu 5.

Exemplu: pentru n=7 şi tabloul a=(6,10,4,15,2,5,8), programul va scrie în fişier:
6 5 4 15 2 10 8

Punctul a)

Punctul b)

Punctul c)

V5 S3 P4

Subprogramul f, cu un parametru:
– primeşte prin intermediul parametrului a un număr natural cu cel mult 8 cifre (a>1);
– returnează cel mai mic divizor prim al valorii parametrului a.

Exemplu: pentru valoarea 45 a parametrului a, subprogramul va returna valoarea 3
deoarece a=3²*5, iar cel mai mic divizor prim al său este 3.

a) Scrieţi definiţia completă a subprogramului f.

b) Scrieţi un program C/C++ care să citească de la tastatură un număr natural nenul n
(n≤100) şi un şir de n numere naturale distincte de cel mult 8 cifre fiecare, toate numerele
din şir fiind strict mai mari decât 1. Folosind apeluri utile ale subprogramului f, programul va
determina şi va afişa pe ecran toate numerele prime din şirul citit. Numerele determinate se
vor afişa pe ecran, separate prin câte un spaţiu. Dacă nu există astfel de numere se va afişa
pe ecran mesajul NU EXISTA.

Exemplu: pentru n=8, şirul: 1125, 2, 314, 101, 37, 225, 15, 12 se va afişa:
2 101 37

Punctul a)

Punctul b)

V5 S3 P3

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n cu cel mult 8 cifre
(n≥10) şi care creează fişierul text NR.TXT ce conţine numărul n şi toate prefixele nenule
ale acestuia, pe o singură linie, separate prin câte un spaţiu, în ordine descrescătoare a
valorii lor.

Exemplu: pentru n=10305 fişierul NR.TXT va conţine numerele:
10305 1030 103 10 1

V4 S3 P4

Subprogramul cif, cu doi parametri, primeşte prin intermediul parametrului a un număr
natural cu cel mult 8 cifre şi prin intermediul parametrului b o cifră; subprogramul returnează
numărul de apariţii ale cifrei b în scrierea numărului a.

Exemplu: pentru a=125854 şi b=5, subprogramul va returna valoarea 2.

a) Scrieţi definiţia completă a subprogramului cif.

b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n cu cel mult 8
cifre, dintre care cel puţin una impară, şi care determină şi afişează pe ecran, folosind
apeluri utile ale subprogramului cif, cel mai mic număr natural care poate fi obţinut
utilizând toate cifrele impare ale numărului n.

Exemplu: dacă n=2152331 atunci se va afişa pe ecran numărul 11335.

Punctul a)

Punctul b)