Sunteți pe pagina 1din 41

Subiecte propuse pentru PROGRAMARE

Limbaj de programare Pascal/C/C++

1
Problema 1

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural n i cele n elementele ale unui vector X care
memoreaz numere naturale. S se afieze numrul elementelor care sunt numere
palindrom. Dac nu exist numere palindrom, se va afia mesajul NU EXISTA. (Un numr
este palindrom dac citit de la stnga la dreapta sau de la dreapta spre stnga rmne
neschimbat)
Exemple:
Date de intrare Date de ieire Explicaii
5 2 Vectorul conine
42 8 122 3003 40 numerele palindrom : 8,
3003
4
15 23 5789 12323 NU EXISTA

2
Problema 2

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete n un numr natural de la tastatur. S se verifice dac numrul este perfect i
n caz afirmativ s se afieze mesajul DA. Dac nu este perfect se afieaz suma
divizorilor si, mai mici dect numrul. (Un numr este perfect dac este egal cu suma
divizorilor si mai puin el nsui.)
Exemple:
Date de intrare Date de ieire Explicaii
28 DA 28=1+2+4+7+1
4
15 9 1+3+5=9

3
Problema 3

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete n numr natural de la tastatur. S se verifice dac numrul este prim. n caz
afirmativ, se va afia mesajul DA i n caz contrar, se va afia mesajul NU i divizorii
acestuia ca n exemplul de mai jos.
Exemple:
Date de intrare Date de ieire Explicaii
71 DA
20 NU
Divizorii: 1 2 4 5 10 20

4
Problema 4

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur a i b numere naturale (a<b). S se afieze toate numerele
prime din intervalul nchis [a,b]. Dac nu exist numere, se va afia mesajul NU EXISTA.
Exemple:
Date de intrare Date de ieire Explicaii
1 2 3 5 7 11 13 17 19
20
32 NU EXISTA
36

5
Problema 5

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete numrul natural nenul n de la tastatur. S se afieze primii n termeni ai irului
lui Fibonacci.
irul lui Fibonacci este definit astfel:

{
0, n=0
f n= 1, n=1
f n2 + f n1 n> 1

Exemplu:
Date de intrare Date de ieire Explicaii
10 0 1 1 2 3 5 8 13 21 34

6
Problema 6

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural n i cele n elementele ale unui vector X care
memoreaz numere naturale. S se afieze numrul valorilor prime din vector. Dac nu
exist numere prime, se va afia mesajul NU EXISTA.
Exemple:
Date de intrare Date de ieire Explicaii
8 3 Numerele prime din
16 5 90 434 55 71 31 33 vector sunt 5, 71,
31
5
42 10 300 555 NU EXISTA

7
Problema 7

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural n (n>=2) i cele n elementele ale unui vector X
care memoreaz numere reale. S se nlocuiasc fiecare element cu media aritmetic a
celorlalte n1 elemente.
Exemple:
Date de intrare Date de ieire
3
7 14 20 17 13.5 10.5
2
18 300 300 18

8
Problema 8

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural n i cele n elementele ale unui vector X care
memoreaz numere reale. S se elimine elementele nule din vector i s se afieze
vectorul astfel obinut. Dac nu exist elemente nule n vector, se va afia mesajul NU
EXISTA.
Exemple:
Date de intrare Date de iesire Obs.
7
0 0 27 14 0 8 0 27 14 8
3
23 765 400 NU EXISTA

9
Problema 9

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural n i cele n elementele ale unui vector X care
memoreaz numere ntregi. S se insereze pe poziia k, o valoare a citit de la tastatur.
Poziia k se citete de la tastatur. Dac poziia k nu se afl n vector se afieaz mesajul
pozitie depasita i lungimea vectorului, ca n exemplu.
Exemple:
Date de intrare Date de ieire Explicaii
8 16 5 90 2000 434 55 71 31 Se insereaz
16 5 90 434 55 71 31 33 33 2000 pe
4 (poziia k) poziia 4 din
2000 vector.
5 pozitie depasita Vectorul
42 10 300 555 lungime vector=5 rmne
7 (poziia k) neschimbat.
1000

10
Problema 10

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural n i cele n elementele ale unui vector X care
memoreaz numere ntregi. S se tearg elementul de pe poziia k (citit de la
tastatur). Dac poziia k nu se afl n vector se afieaz mesajul pozitie depasita i
lungimea vectorului ca n exemplu.
Exemple:
Date de intrare Date de ieire Explicaii
8 16 5 90 55 71 31 33 Se elimin elementul
16 5 90 434 55 71 31 33 434 situat pe poziia
4 4 n vector.
5 pozitie depasita Vectorul rmne
42 10 300 555 lungime vector=5 neschimbat.
7

11
Problema 11

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul fractii.in conine pe prima linie numrul natural n (reprezentnd numrul de fracii)
iar de pe fiecare din urmtoarele n linii dou numere ntregi reprezentnd numrtorul i
numitorul unei fracii. S se ordoneze cresctor fraciile, afind valorile zecimale ale lor.
Exemplu:
Date de intrare Date de ieire Explicaii
(fiier fractii.in)
6 -3.5 -3 -1.2 0.5 2.4 3.25 -3.5=7/(-2)
1 4 -3=9/(-3)
7 -2 -1.2=-6/5
26 8 0.25=1/4
-6 5 2.4=12/5
12 5 3.25=26/5
9 -3

12
Problema 12

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul complexe.in conine pe prima linie numrul natural n (reprezentnd numrul de
valori complexe) iar de pe fiecare din urmtoarele n linii dou numere ntregi reprezentnd
partea real i partea imaginar a unui numr complex. S afieze, n ordine
descresctoare, modulele numerelor complexe, cu precizie de dou zecimale. (Modulul
numrului complex este | a+bi | = a +b )
2 2

Exemplu:
Date de intrare Date de ieire Explicaii
(fiier complexe.in)
6 5.39 5 4 3.61 3.16 2.24 5.39=|-5-2i|
3 4 5=|3+4i|
1 2 4=|4i|
-2 3 3.61=|-2+3i|
0 4 3.16=|1-3i|
-5 -2 2.24=|1+2i|
1 -3

13
Problema 13

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur, un numr natural n i cele n elementele ale unui vector X care
memoreaz numere naturale. S se genereze i s se afieze un alt vector Y care conine
elementele pare din vectorul X. Dac nu exist elemente pare, se va afia mesajul NU
EXISTA NUMERE PARE.
Exemple:
Date de intrare Date de ieire Explicaii
6 200 0 504 12
49 200 0 504 17 12
3 NU EXISTA NUMERE PARE Vectorul nu conine
17 3 201 numere pare.

14
Problema 14

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur, un numr natural n i cele n elementele ale unui vector X care
memoreaz numere reale. Testai dac o valoare a introdus de la tastatur se gsete n
vector. n caz afirmativ, afiai poziiile pe care se afl, n caz contrar, se va afia mesajul
NU EXISTA.
Exemple:
Date de intrare Date de ieire Explicaii
7 pozitii: 1 3 Valoarea 14 se gsete
14 48 14 200 6 763 50 n vector pe poziiile 1 i
14 3.
6 NU EXISTA Valoarea 1000 nu se
49 200 0 504 17 12 gsete n vector.
1000

15
Problema 15

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur, un numr natural n i cele n elementele ale unui vector X care
memoreaz numere ntregi. S se afieze maximul valorilor negative. Dac nu exist
elemente negative, se va afia mesajul NU EXISTA.
Exemple:
Date de intrare Date de ieire Obs.
6 max=-7
23 -7 -40 200 -15 0
3 NU EXISTA Nu exist elemente
14 2 90 negative

16
Problema 16

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur, un numr natural n i cele n elementele ale unui vector X care
memoreaz numere ntregi. S se contorizeze elementele din intervalul [a,b], (a,b citite de
la tastatur, a<b) i s se construiasc i s se afieze un alt vector Y cu cele care nu
aparin intervalului.
Exemple:
Date de intrare Date de ieire Explicaii
7 nr=3 Numerele 35, 23 i 46
14 76 201 35 23 9 46 14 76 201 9 se gsesc n intervalul
20 [20, 50].
50
3 nr=0 Niciun element din
17 45 23 17 45 23 vectorul X nu se
25 gsete n intervalul
30 [25, 30].

17
Problema 17

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur, un numr natural n i cele n elementele ale unui vector X care
memoreaz numere naturale. S se afieze numerele perfecte din vector. Dac nu exist
numere perfecte, se va afia mesajul NU EXISTA. (Un numr este perfect dac este egal
cu suma divizorilor si mai puin el nsui)
Exemple:
Date de intrare Date de ieire Explicaii
5 28 6 Vectorul X conine numerele perfecte
41 5 90 28 6 28 i 6.
28=1+2+4+7+14
6=1+2+3
3 NU EXISTA
2 67 34

18
Problema 18

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur, un numr natural n i cele n elementele ale unui vector X care
memoreaz numere naturale nenule. S se calculeze i s se afieze cel mai mare divizor
comun al elementelor vectorului.
Exemple:
Date de intrare Date de ieire Explicaii
5 2
42 8 36 24 6
4 1
43 20 15 7

19
Problema 19

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere reale reprezentnd o matrice ptratic A cu (n,n) elemente. S se afieze
cel mai mare element din matrice i poziiile pe care apare n matrice.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
3 max=9 l=linia, c=coloana
5 9 7 l=1 c=2 Elementul 9 apare
4 9 9 l=2 c=2 de 3 ori pe poziiile
2 3 7 l=2 c=3 (1,2), (2,2) i (2,3)
4 max=7
4 8 6 7 l=1 c=4
5 6 4 0
0 2 1 0
5 4 6 2

20
Problema 20

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere reale reprezentnd o matrice ptratic A cu (n,n) elemente. S se afieze
cel mai mic element din matrice i poziiile pe care apare n matrice.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
3 min=2 l=linia, c=coloana
5 9 7 l=3 c=1
4 9 9
2 3 7
4 min=0 Elementul 0 apare
4 8 6 7 l=2 c=4 de 3 ori pe poziiile
5 6 4 0 l=3 c=1 (2,4), (3,1) i (3,4)
0 2 1 0 l=3 c=4
5 4 6 2

21
Problema 21

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere reale reprezentnd o matrice ptratic A cu (n,n) elemente. S se afieze
media aritmetic a elementelor strict pozitive. Dac nu exist elemente strict pozitive n
matrice se va afia mesajul NU EXISTA.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
3 ma=6.25 (5+9+7+4) / 4
5 9 7
4 -9 -9
0 -3 -7
4 NU EXISTA Matricea nu conine
-4 -8 -6 -7 numere strict pozitive
-5 -6 -4 -1
-4 -2 -1 -5
-5 -4 -6 -2

22
Problema 22

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere reale reprezentnd o matrice ptratic A cu (n,n) elemente. S se schimbe
ntre ele, dou linii l1 si l2, date de la tastatur. (0<l1, l2<=n) i s se afieze matricea
astfel obinut.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in) 2 3 7
3 4 9 9
5 9 7 5 9 7
4 9 9
2 3 7
(citite de la tastatur)
1
3
(fiierul mat.in) 4 8 6 7
4 5 4 6 2
4 8 6 7 0 2 1 0
5 6 4 0 5 6 4 0
0 2 1 0
5 4 6 2
(citite de la tastatur)
2
4

23
Problema 23

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere naturale reprezentnd o matrice ptratic A cu (n,n) elemente. S se
afieze indicii liniilor care au toate elementele pare. Dac nu exist linii cu toate
elementele pare se va afia mesajul NU EXISTA.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
4 Linii pare:2 3
5 9 8 4
2 4 3 4
8 6 2 0
5 7 9 1
3 NU EXISTA
8 9 1
1 1 1
5 6 8

24
Problema 24

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere naturale reprezentnd o matrice ptratic A cu (n,n) elemente. S se
afieze indicii coloanelor care au toate elementele impare. Dac nu exist coloane cu
toate elementele pare se va afia mesajul NU EXISTA.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
4 3 4
5 9 1 3
2 4 3 5
8 6 3 7
5 7 5 1
3 NU EXISTA
8 9 1
1 1 1
5 6 8

25
Problema 25

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere ntregi reprezentnd o matrice ptratic A cu (n,n) elemente. S se
calculeze i s se afieze media aritmetic a elementelor situate pe diagonala secundar.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
3 5.33 (4+5+7)/3=5.33
1 2 4
6 5 4
7 8 9

26
Problema 26

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere ntregi reprezentnd o matrice ptratic A cu (n,n) elemente. S se afieze
maximele de pe fiecare linie.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
4 9 4 8 8
5 9 8 4
2 4 4 4
8 6 2 0
5 7 2 8
3 9 1 8
8 9 1
1 1 1
5 6 8

27
Problema 27

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierul mat.in conine pe prima linie un numr natural n, iar pe fiecare din urmtoarele n
linii n numere ntregi reprezentnd o matrice ptratic A cu (n,n) elemente. S se verifice
dac este simetric fa de diagonala principal i s se afieze un mesaj corespunztor,
ca n exemplele prezentate.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul mat.in)
4 simetrica
2 7 9 5
7 4 3 2
9 3 2 6
5 2 6 8

3 nu este simetrica
2 3 1
5 9 0
9 0 3

28
Problema 28

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un text de cel mult 200 de caractere, cuvintele fiind separate
printr-un singur spaiu. S se numere cuvintele din text. (textul poate s nceap sau s se
termine cu spaiu)
Exemple:
Date de intrare Date de ieire Explicaii
afara este soare si cald 5
ploua 1

29
Problema 29

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
n fiierul date.in se afl scris pe o linie, un text de cel mult 200 de caractere (litere mici
ale alfabetului englez), cuvintele fiind separate printr-un singur spaiu. S se numere
apariiile unui cuvnt dat, citit de la tastatur n text..
Exemple:
Date de intrare Date de ieire Explicaii
date.in 2 Nu se numr apariia
si pe strada sunt masini cuvntului n alte
si noi suntem la examen cuvinte (masini)
cuvintul cautat
si
date.in 0
mergem la plimbare in parc
cuvintul cautat
ieri

30
Problema 30

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
n fiierul date.in se afl scris pe o linie, un text de cel mult 200 de caractere. S se
determine numrul de vocale din ir. Dac irul nu conine vocale, se va afia mesajul NU.
Vocale sunt: A, a, E, e, I, i, O, o, U, u.
Exemple:
Date de intrare Date de iesire Explicaii
date.in 13
ELEVUL redacteaza o scrisoare.

date.in NU
1734 m.p.

31
Problema 31

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur o propoziie avnd maxim 100 de caractere, ale crei cuvinte
sunt separate prin spaii i virgule. S se afieze cuvintele, pe linii distincte ale ecranului.
Exemplu:
Date de intrare Date de iesire Explicaii
Ana are mere, pere si Ana
gutui are
mere
pere
si
gutui

32
Problema 32

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un ir de caractere avnd maxim 100 de caractere. S se elimine
cifrele din ir. Dac irul nu conine cifre, se va afia mesajul NU.
Exemplu:
Date de intrare Date de ieire Explicaii
Suprafata lotului 2 este Suprafata lotului este
de 2341 m.p. de m.p.
Atestat la informatica NU

33
Problema 33

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citesc de la tastatur, pentru n elevi (n<30), numele i media (numr real). S se
construiasc n memorie, folosind date structurate, un vector care s rein datele citite i
s se afieze elevii n ordinea descresctoare a mediilor.
Exemple:
Date de intrare Date de ieire Explicaii
5 Matei 9.21
Popescu 8.47 Popescu 8.47
Ionescu 6.21 Popa 8.33
Vasile 7.05 Vasile 7.05
Matei 9.21 Ionescu 6.21
Popa 8.33
2 Mihai 8.65
Andrei 8.21 Andrei 8.21
Mihai 8.65

34
Problema 34

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se d fiierul numere.in care conine pe prima linie numere naturale. S se afieze
numrul valorilor distincte din fiier i valoarea maxim a acestora.
Exemple:
Date de intrare Date de ieire Explicaii
(fiierul numere.in)
5 7 21 2 6 4 23 675 21 8 nr=9
max=675
6 nr=1
max=6

35
Problema 35

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Fiierele numere1.in i numere2.in conin pe prima linie numere naturale. S se afieze,
n ordine cresctoare numerele distincte din cele dou fiiere.
Exemplu:
Date de intrare Date de ieire Explicaii
numere1.in 2 7 10 14 23 34 38 45
10 2 45 2 14
numere2.in
34 2 10 23 38 7

36
Problema 36

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural n (3<n<500). S se afieze toate numerele mai
mici sau egale cu n, care au exact 3 divizori.
Exemplu:
Date de intrare Date de ieire Explicaii
70 4 9 25 49 Ptrate perfecte de
numere prime

37
Problema 37

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citesc 2 numere naturale nenule x i y de la tastatur. Folosind o funcie recursiv, s
se determine cel mai mare divizor comun al celor 2 numere naturale.
Exemplu:
Date de intrare Date de ieire Explicaii
48 12
36
13 1
17

38
Problema 38

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete un numr natural nenul p de la tastatur. Folosind o funcie recursiv, s se
calculeze suma cifrelor lui p.
Exemplu:
Date de intrare Date de ieire Explicaii
3815 17 3+8+1+5=17

39
Problema 39

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete un numr natural nenul n de la tastatur. Folosind o funcie recursiv, s se
calculeze produsul cifrelor ale lui n.
Exemplu:
Date de intrare Date de ieire Explicaii
3815 120 3*8*1*5=120

40
Problema 40

Subiectul II - programare
Scriei un program Pascal/C/C++ pentru rezolvarea urmtoarei probleme:
Se citete de la tastatur un numr natural nenul par n (4<=n<=30000). S se afieze
dou numere naturale prime a cror sum este numrul n.
Date de intrare Date de ieire Obs.
100 3 97 100=3+97
28 7 11 28=7+11

41

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