Documente Academic
Documente Profesional
Documente Cultură
95
Cte valori nule pot s apar ntr-un vector cu legturi de tip tat asociat unui arbore cu
rdcin care conine 10 noduri?
(4p.)
a.
niciuna
b.
exact una
c.
d.
exact dou
2.
a.
b.
64
c.
24
56
d.
4.
Scriei listele de adiacen pentru un graf neorientat care are 8 noduri, numerotate de la 1 la
8, i care are urmtoarele proprieti:
- are trei componente conexe;
- nu are noduri izolate;
- are un numr maxim de muchii.
(6p.)
5.
Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir, format din cel
mult 20 de caractere, care reprezint numele i prenumele unei persoane. ntre nume i
prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele, ct i
prenumele, sunt formate numai din litere mici ale alfabetului englez. Programul construiete
n memorie i afieaz pe ecran un alt ir de caractere, care s conin iniiala prenumelui
(prima liter a prenumelui), urmat de un caracter punct, de exact un spaiu i de numele
din irul citit iniial. Toate literele din irul afiat vor fi de asemenea litere mici.
Exemplu: dac se citete irul:
popescu
vasile
se va construi i apoi se va afia pe ecran irul
v. popescu
(10p.)
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
Subiectul II
94
a.
2.
a.
28
b.
b.
84
c.
c.
36
d.
d.
0
0
1
0
1
0
1
1
1
0
21
4.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir format din cel
mult 20 de caractere care reprezint numele i prenumele unei persoane. ntre nume i
prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele ct i
prenumele sunt formate numai din litere ale alfabetului englez. Programul construiete n
memorie i afieaz pe ecran un al doilea ir de caractere, care s conin prenumele,
urmat de exact un spaiu i apoi numele din irul citit iniial.
Exemplu: dac se citete irul:
Popescu
Vasile
se va construi i apoi se va afia pe ecran irul
Vasile Popescu
2,
1,
1,
3,
2,
3
3, 5
2, 4, 5
5
3, 4
(10p.)
Subiectul II
93
a.
2.
a.
P.x==0
b.
b.
P.y==0
c.
c.
P.x+P.y==0
d.
d.
P.x==P.y
(3p.)
4. Se consider o list liniar simplu nlnuit asupra creia se execut urmtoarea prelucrare:
ntre oricare dou elemente ce memoreaz valorile x i y,aflate pe poziii consecutive, se
insereaz cel mai mare divizor comun al numerelor x i y. Dac lista conine iniial, n
ordine, doar numerele 10,4,2,6 precizai care este numrul maxim de elemente aflate pe
poziii consecutive ce vor memora aceeai valoare, dup realizarea prelucrrii menionate.
(4p.)
5. Un ir de caractere s se numete ablon pentru un alt ir de caractere x, dac este format
din caractere din mulimea {*,?,#}, are aceeai lungime cu x i pe fiecare poziie din s n
care apare * n x se gsete o vocal, pe fiecare poziie din s n care apare # n x se
gsete o consoan i pe fiecare poziie din s n care apare ? putem avea orice caracter
n x. Se consider vocal orice liter din mulimea {a,e,i,o,u}.
Scriei programul C/C++ care citete de la tastatur dou iruri de caractere, de aceeai
lungime, formate din cel mult 200 de litere mici ale alfabetului englez, i afieaz pe ecran
un ablon comun celor dou iruri citite, care conine un numr minim de caractere ?.
Exemplu: pentru irurile diamant i pierdut se afieaz #**#??#
(10p.)
Subiectul II
92
a.
(2,3)
2.
Variabila s este de tip ir de caractere, iar variabilele c1 i c2 sunt de tip char. Care
expresie are valoarea 1 dac i numai dac irul de caractere s conine caracterele
memorate de variabilele c1 i c2?
(6p.)
a.
strstr(s,c1+c2)!=0
b.
strchr(s,c1)!=0 || strchr(s,c2)!=0
c.
strchr(strchr(s,c1),c2)!=0
d.
(strchr(s,c1)!=0)&&(strchr(s,c2)!=0)
b.
(1,2)
c.
(1,4)
d.
(4,1)
4.
5.
Subiectul II
91
a.
120
2.
a.
1, 6 i 10
b.
b.
80
c.
c.
100
6, 8 i 9
d.
d.
20
Se consider o stiv n care iniial au fost introduse, n aceast ordine, valorile 1,2,3,4. Se
noteaz cu PUSH(x) operaia prin care se adaug valoarea x n stiv, i POP operaia prin
care se extrage un element din stiv. Presupunem c se execut urmtoarele operaii
asupra stivei considerate: POP; POP; PUSH(4); PUSH(3); PUSH(5); POP;
n urma executrii lor
a) care este elementul din vrful stivei?
(3p.)
b) care este suma elementelor aflate n stiv?
(3p.)
4.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n50, 1m50) i apoi n*m valori 0 i 1 reprezentnd elementele unui tablou
bidimensional cu n linii, numerotate de la 1 la n, i m coloane, numerotate de la 1 la m;
Programul determin i afieaz pe ecran numrul de ordine al primei coloane care are un
numr maxim de valori 1.
(10p.)
Exemplu: pentru pentru n=5 i m=4 i tabloul alturat, se va afia 2.
Subiectul II
90
a.
2 3 4 6
2.
a.
info
b.
b.
1 3 5
infoBAC
c.
c.
2 4 6
BACinfo
d.
d.
1 3 5 6
InformaticaBAC
5.
Subiectul II
89
a.
2 3 4 5 6
2.
a.
format
b.
b.
2 4 7 8
informat
c.
c.
2 4 6
inform
d.
d.
2 4 6 7 8
informBAC
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (1n6) apoi
construiete n memorie o matrice cu n linii i n coloane, astfel nct parcurgnd liniile
matricei de sus n jos i de la stnga la dreapta se obin, n prima linie primele n numere ale
irului Fibonacci n ordine cresctoare, n linia a doua urmtoarele n numere ale irului
Fibonacci n ordine descresctoare, n linia a treia urmtoarele n numere ale acestui ir n
ordine cresctoare, i aa mai departe, ca n exemplu. Elementele irului Fibonacci se obin
astfel: primul element este 0, al doilea este 1, iar elementele urmtoare se obin nsumnd
cele dou elemente care preced elementul curent. Astfel, primele 16 elemente ale acestui ir
sunt: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610.
1
1
2
Programul afieaz pe ecran matricea obinut, cte o linie a 0
8
5
3
matricei pe cte o linie a ecranului, elementele fiecrei linii fiind 13
21 34 55 89
separate prin cte un spaiu.
Exemplu: pentru n=4 se obine matricea alturat.
(10p.) 610 377 233 144
Subiectul II
88
a.
b.
c.
d.
b.
c.
d.
6
struct elev{
Fie declarrile alturate. Dac variabila x retine
char nume[30];
informaii despre 30 de elevi, precizai care este
float media;};
varianta corect ce afieaz numele i media
elevului al 11-lea?
(4p.) elev x[30];
cout<<x[10].nume<< <<x[10].media;
| printf(%s %f, x[10].nume,x[10].media);
cout<<x.nume<< <<x.media;
| printf(%s %f, x.nume,x.media);
cout<<x.nume[10]<< <<x.media;
| printf(%s %f, x.nume[10],x.media);
cout<<x[10]->nume<< << x[10]->media);
| printf(%s %f, x[10]->nume,x[10]->media);
Subiectul II
87
6
5
2.
a.
form
b.
forma
c.
InfoBAC
d.
Infor
c.
12
6
3 4 5
a.
b.
2
1
2
2
2
1
d.
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
4.
5.
Scriei un program C/C++ care citete de la tastatur un ir de cel mult 100 de caractere,
care pot fi litere ale alfabetului englez, cifre, semne de punctuaie i spaii, i transform irul
citit nlocuind toate literele mici cu literele mari corespunztoare i toate literele mari cu
literele mici corespunztoare. Programul va afia pe o linie a ecranului irul rezultat n urma
acestor nlocuiri, iar pe urmtoarea linie a ecranului numrul de caractere care au rmas
nemodificate.
Exemplu: dac irul citit este:
Ana-Maria are 3 frati.
programul va afia
aNA-mARIA ARE 3 FRATI.
6
(10p.)
Subiectul II
86
a.
2.
Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai jos?
strncpy(s,strstr(examen,am),4); s[4]='\0';
(4p.)
a.
amen
b.
b.
10
exam
c.
c.
menn
d.
d.
1
0
0
0
8
men
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (1n10) apoi
construiete n memorie o matrice cu 2*n linii i 2*n coloane, numerotate de la 1 la 2*n,
astfel nct parcurgnd doar liniile impare ale matricei de sus n jos i fiecare linie impar de
la stnga la dreapta se obin n ordine strict cresctoare toate numerele impare cuprinse n
intervalul [1,4*n2], iar parcurgnd doar liniile pare ale matricei de sus n jos i fiecare linie
par de la dreapta la stnga se obin n ordine strict cresctoare toate numerele pare
cuprinse n intervalul [1,4*n2], ca n exemplu.
Programul afieaz pe ecran matricea obinut, cte o linie a matricei pe 1 3 5 7
cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 8 6 4 2
9 11 13 15
spaiu.
Exemplu: pentru n=2 se obine matricea alturat.
(10p.) 16 14 12 10
Subiectul II
85
a.
2.
a.
b.
b.
c.
c.
d.
d.
4.
5.
Subiectul II
84
a.
2.
a.
b.
b.
c.
c.
d.
d.
Se consider variabila c, de tip char, care memoreaz o liter a alfabetului englez, diferit
de z sau Z. Scriei secvena de program C/C++ care afieaz pe ecran litera care i
urmeaz n alfabet.
Exemplu: dac litera memorat este g se va afia h.
(6p.)
4.
5.
Scriei programul C/C++ care citete de la tastatur un numr natural n (1n10), apoi n*n
numere ntregi, mai mici dect 32000, reprezentnd elementele unui tablou bidimensional
cu n linii i n coloane, i care determin i afieaz pe ecran ultima cifr a produsului
numerelor pare de pe diagonala principal a tabloului sau mesajul imposibil dac nu
exist numere pare.
(10p.)
Subiectul II
83
a.
b.
c.
d.
2.
a.
b.
c.
d.
4.
Variabila cuv reine un cuvnt format din cel mult 25 litere mici ale alfabetului englez. Scriei
o secven de program C/C++ care afieaz pe ecran vocalele cuvntului, n ordinea
apariiei lor n cuvnt.
Exemplu: dac cuv reine cuvntul examen se afieaz eae
(6p.)
5.
Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n10) i
apoi n*n numere ntregi distincte, fiecare avnd cel mult 4 cifre, reprezentnd elementele
unui tablou bidimensional cu n linii i n coloane. Programul determin cel mai mic i cel mai
mare numr de pe diagonala secundar, le interschimb, apoi afieaz pe ecran matricea
obinut dup modificare. Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar
elementele unei linii sunt separate prin cte un spaiu.
(10p.)
2 24 15 -8 se va afia
2 24 15 17
Exemplu: pentru n=4 i tabloul:
3 25 17 9
3 25 -8 9
4 -2 73 10
4 -2 73 10
5 14 12 10
5 14 12 10
Subiectul II
82
a.
2.
a.
b.
c.
d.
4.
5.
Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n10) i
apoi n*n numere ntregi distincte, fiecare avnd cel mult 4 cifre, reprezentnd elementele
unui tablou bidimensional cu n linii i n coloane. Programul determin cel mai mic i cel mai
mare numr de pe diagonala principal, le interschimb, apoi afieaz pe ecran matricea
obinut dup modificare. Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar
elementele unei linii sunt separate prin cte un spaiu.
(10p.)
2 24 15 -8 se va afia
73 24 15 -8
Exemplu: pentru n=4 i tabloul:
3 25 17 9
3 25 17 9
4 -2 73 10
4 -2 2 10
5 14 12 10
5 14 12 10
strcpy(s,barba);
for(i=0;i<strlen(s);i++)
if(s[i]==b)
s[i]=t;
cout<<s; | printf(%s,s);
0
0
1
0
Subiectul II
81
a.
elev[1].nota
2.
a.
b.
b.
a[1].nota[1]
c.
c.
a.nota[1]
d.
0
1
1
1
1
d.
a[1].nota
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 6,5,4,3,2,1. Asupra cozii se efectueaz, n aceast ordine,
urmtoarele operaii: se elimin un element, se adaug dou elemente cu valorile 6 i
respectiv 7 i apoi se elimin trei elemente. Care sunt ultimele trei valori eliminate?
(6p.)
4.
Variabila cuv reine un cuvnt format din cel mult 25 litere mici ale alfabetului englez. Scriei
o secven de program C/C++ care afieaz pe ecran litera din mijloc a cuvntului, dac
acesta are un numr impar de caractere, sau cele dou litere din mijloc ale cuvntului, dac
acesta are un numr par de caractere.
Exemplu: dac se citete cuvntul mihai se afieaz litera h.
(6p.)
5.
Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m (n10,
m10), apoi elementele unui tablou bidimensional cu n linii i m coloane, numere ntregi
distincte, de maximum 4 cifre fiecare, i care determin cel mai mic i cel mai mare numr
din tablou i le interschimb. Matricea modificat va fi afiat pe ecran, cte o linie a
matricei pe o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=5, 2
3
m=4 i tabloul
4
5
6
24
25
-2
14
57
-5
17
13
12
36
8
9
10
70
43
se va afia tabloul
2
3
4
5
6
24
25
-2
14
57
70
17
13
12
36
(10p.)
8
9
10
-5
43
Subiectul II
80
a. 16
2.
b. 15
c. 64
d. 10
a. 1
b.
c.
d.
4.
ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 6,5,4,3,2,1. Asupra cozii se efectueaz, n aceast ordine,
urmtoarele operaii: se elimin dou elemente, se adaug dou elemente cu valorile 6 i
respectiv 7 i apoi se elimin dou elemente. Care sunt ultimele trei valori eliminate? (6p.)
5.
Scriei programul C/C++ care citete de la tastatur un cuvnt cu cel puin una i cel mult
20 de litere ale alfabetului englez, construiete i afieaz pe ecran cuvntul obinut prin
interschimbarea primei consoane cu ultima vocal din cuvnt. n cazul n care cuvntul este
format numai din vocale sau numai din consoane, programul afieaz pe ecran mesajul
IMPOSIBIL. Se consider vocale literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dac se citete cuvntul Marmorat se va obine i afia cuvntul aarmorMt
(10p.)
Subiectul II
79
a.
c.
2.
a.
b.
inclusiv b.
d.
c.
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere
(litere ale alfabetului englez i spaii), construiete n memorie i apoi afieaz pe ecran
irul de caractere obinut din irul iniial n care se insereaz dup fiecare vocal caracterul
*. Se consider vocale literele a, e, i, o, u, A, E, I, O, U. Dac textul citit nu conine vocale,
se va afia mesajul FARA VOCALE.
Exemplu: dac se citete de la tastatur textul Examenul de bacalaureat se va afia:
E*xa*me*nu*l de* ba*ca*la*u*re*a*t.
(10p.)
Subiectul II
78
a.
c.
2.
a.
1, respectiv 30
b.
1, respectiv 31
b.
c.
1, respectiv 40
d.
2, respectiv 30
4.
ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 1,2,3,4,5. Asupra cozii se efectueaz, n aceast ordine, urmtoarele
operaii: se elimin un element, se adaug dou elemente cu valorile 6 i respectiv 7 i apoi
se elimin 2 elemente, se adaug elementul cu valoarea 8 i se elimin un element.
a) Care este valoarea ultimului element eliminat?
(3p.)
b) Care este suma elementelor alfate n coad dup efectuarea acestor operaii?
(3p.)
5.
Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere i
un cuvnt cu cel mult 15 litere. Pe ecran se va afia irul obinut prin inserarea n textul
iniial a caracterului ? dup fiecare apariie a cuvntului citit. Literele textului i ale cuvntului
sunt litere mici ale alfabetului englez. Dac n text nu apare cuvntul citit, se va afia
mesajul NU APARE.
Exemplu: dac se citete de la tastatur textul
examenului examenul de bacalaureat si examenul de atestat
i cuvntul examenul
se va afia:
examenului examenul? de bacalaureat si examenul? de atestat
(10p.)
Subiectul II
77
a.
b.
c.
d.
2.
a.
11
b.
c.
d.
4.
ntr-o stiv ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 5,4,3,2,1. Asupra stivei se efectueaz urmtoarele operaii: se elimin
2 elemente, se adaug un element cu valoarea 6 i apoi se elimin 3 elemente.
a) Care este valoarea memorat n elementul din vrful stivei dup efectuarea operaiilor n
ordinea precizat?
(3p.)
b) Care este suma valorilor aflate n stiv dup efectuarea acestor operaii?
(6p.)
5.
Scriei programul C/C++ care citete de la tastatur un text de cel mult 50 de caractere,
(litere mici ale alfabetului englez i spaii), text format din mai multe cuvinte, separate prin
cte un spaiu, i afieaz pe ecran textul obinut din cel iniial prin transformarea primei
litere i a ultimei litere a fiecrui cuvnt n majuscul.
Exemplu: dac se citete textul
azi este examen de bacalaureat
se va afia
AzI EstE ExameN DE BacalaureaT
(10p.)
Subiectul II
76
a.
c.
2.
a.
b.
d.
c.
d.
5.
(10p.)
Subiectul II
75
a.
exAmeNe
2.
a.
16
b.
b.
ExAmene
14
c.
c.
EXAMENE
d.
1: 3
2: 3
3: 1
4: 2
5: 1
6: 2
d.
examene
5
4 6
2 5
6
3
4.
8
4.
5.
Scriei programul C/C++ care citete de la tastatur dou valori naturale m i n (1<m, n<51)
i construiete n memorie i apoi afieaz o matrice cu m linii, numerotate de la 1 la m, i n
coloane, numerotate de la 1 la n; liniile matricei, dou cte dou, sunt completate alternativ
numai cu 0 sau numai cu 1, ca n exemplu. Astfel,
- elementele liniei 1 i 2 sunt egale cu 0;
- elementele liniei 3 i 4 sunt egale cu 1;
- elementele liniei 5 i 6 sunt egale cu 0; i aa mai departe.
Matricea astfel obinut se va afia pe ecran, cte o linie a matricei 0 0 0 0 0
pe o linie a ecranului, cu cte un spaiu ntre elementele fiecrei 0 0 0 0 0
1 1 1 1 1
linii.
1 1 1 1 1
Exemplu: pentru m = 7 i n = 5 se va afia matricea alturat.
(10p.) 0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
Subiectul II
74
a.
b.
c.
d.
2.
a.
imposibil
b.
bacalaureat
c.
banal
d.
bacalaureatimposibil
4.
5.
Subiectul II
73
a.
6, 9, 11
b.
1, 2, 7
c.
5, 12, 6, 9, 11
struct A {
Se consider declarrile alturate. Care este
int x;
tipul expresiei x.x.y ?
(4p.)
char y;
float z;};
d.
10, 1, 2, 7
struct B {
struct A x;
long y;};
B x, y;.
float
b.
int
c.
d.
2.
a.
long
char
4.
5.
Se consider un text avnd maximum 255 de caractere, format numai din litere mici ale
alfabetului englez i spaii, n care oricare dou cuvinte alturate n text sunt desprite
printr-un singur spaiu. Ultimul caracter din text este diferit de spaiu.
Scriei un program C/C++ care citete de la tastatur un text ca cel descris mai sus i
afieaz pe ecran, desprite printr-un spaiu, numrul de cuvinte din text i cte dintre
acestea au prima liter vocal (a, e, i, o sau u).
Exemplu: pentru urmtoarul text ele sunt eleve in clasa a opta
se va afia: 7 5
(10p.)
Subiectul II
72
a.
2.
a.
anotimpprima
b.
anotimpprimavara
c.
primavara
d.
prima
b.
9!
c.
d.
10
4.
5.
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
n(n + 1)
. Elementele situate deasupra i pe diagonala secundar sunt dispuse n ordine
2
cresctoare pe linii astfel: prima linie conine numerele de la 1 la n, a doua linie conine
numerele de la n + 1 la 2*n 1 i aa mai departe. Matricea se va afia pe ecran, cte o
linie a matricei pe o linie a ecranului, elementele unei linii fiind separate ntre ele printr-un
spaiu.
1 2 3 4
Exemplu: pentru n = 4 se va obine matricea alturat.
(10p.) 5 6 7 3
8 9 6 2
10 8 5 1
Subiectul II
71
Care este numrul maxim de noduri frunz pe care le poate avea un arbore cu rdcin cu
15 noduri?
(4p.)
a.
2.
a.
b.
b.
15
14
c.
c.
0
1
1
0
0
0
1
0
1
0
0
0
3
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
d.
d.
0
0
1
0
1
0
4.
5.
Subiectul II
70
tiind c fiecare dintre variabilele var1, var2 memoreaz numele struct elev
i nota unui elev n forma dat de declararea alturat, indicai { char nume[30];
float nota;
care dintre urmtoarele expresii atribuie variabilei reale m media
}var1,var2;
aritmetic a notelor celor doi elevi.
(4p.)
a.
m=(var1.nota+var2.nota)/2;
b.
m=var1.nota+var2.nota/2;
c.
m=(var1+var2).nota/2;
d.
m=nota(var1+var2)/2;
2.
a.
b.
c.
1:
2:
3:
4:
5:
2,4,5
1,3
2,5,4
1,3
3,1
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n (1m24,
1n24), un numr natural x (1xm) i apoi m*n numere naturale de cel mult 5 cifre ce
reprezint elementele unui tablou bidimensional a, cu m linii, numerotate de la 1 la m, i n
coloane, numerotate de la 1 la n. Programul va determina construirea n memorie a matricei
apoi eliminarea liniei cu numrul de ordine x din matrice, modificarea corespunztoare a
numrului de linii din matrice i afiarea matricei obinute n urmtorul format: cte o linie a
matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un
spaiu.
(10p.)
11 21 31 41
Exemplu: pentru m=3, n=4, 11 21 31 41 se va afia matricea
91 11 21 31
51 61 71 81
x=2 i matricea alturat
91 11 21 31
Subiectul II
69
a.
e->nume[0]
b.
e.nume[0]
c.
elev.nume[0]
d.
nume.e[0]
2.
Se consider un graf neorientat conex cu ase noduri n care fiecare nod are gradul 2. Care este
numrul minim de muchii care trebuie eliminate din acest graf astfel nct graful parial rezultat s
aib dou componente conexe?
(4p.)
a.
b.
c.
d.
4.
Fie s i t dou variabile de tipul ir de caractere. Scriei o secven de instruciuni C/C++ prin
care variabilei t i se atribuie irul format din primele n caractere ale lui s.
(6p.)
5.
Subiectul II
68
Cum se poate accesa prima liter a denumirii unui material ale struct material{
crui caracteristici sunt memorate n variabila m, declarat char denumire[20];
alturat?
(4p.) int pret;} m;
a.
denumire.m[0]
b.
m->denumire[0]
c.
material.denumire[0]
d.
m.denumire[0]
2.
a.
b.
c.
d.
0
1
1
0
1
1
1
1
1
0
4.
Care este funcia predefinit, n limbajul C/C++, care returneaz lungimea efectiv a unui ir
de caractere transmis ca parametru?
(6p.)
5.
Subiectul II
67
a.
p.nume[0]
b.
persoana.nume[0]
c.
p->nume[0]
d.
nume.p[0]
2.
Se consider un graf neorientat cu patru noduri n care fiecare nod are gradul 2. Care este
numrul minim de muchii care trebuie eliminate astfel nct graful s aib dou componente
conexe?
(4p.)
a.
b.
c.
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50
caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate sufixele acestuia, n ordine cresctoare a lungimilor. Un sufix de lungime k al unui
cuvnt este un subir format din ultimele k caractere ale acestuia.
(10p.)
Exemplu: dac se citete cuvntul EXAMEN se vor afia sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN
Subiectul II
66
a.
produs.denumire[0]
b.
denumire.p[0]
c.
p.denumire[0]
d.
P->denumire[0]
2.
Se consider un graf neorientat complet cu trei noduri. Care este numrul minim de muchii care
trebuie eliminate din acest graf astfel nct graful parial rezultat s aib dou componente
conexe?
(4p.)
a.
b.
c.
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50 de
caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate prefixele acestuia, n ordine cresctoare a lungimilor. Un prefix de lungime k al unui
cuvnt este un subir format din primele k caractere ale acestuia.
(10p.)
Exemplu: dac se citete cuvntul BACALAUREAT se vor afia prefixele:
B
BA
BAC
BACA
BACAL
BACALA
BACALAU
BACALAUR
BACALAURE
BACALAUREA
BACALAUREAT
Subiectul II
65
1.
2.
Dac variabila s de tip char[15] memoreaz irul INFORMATICA atunci strlen(s) are
valoarea
(4p.)
a. 10
b. 12
c. 1
d. 11
(6p.)
4.
Se consider o stiv S1, iniial vid, n care s-au introdus n ordine valorile a,b,c,d,e,f i
o alt stiv S2, iniial vid, n care au fost introduse, n ordine, valorile g,h. Care va fi
elementul din vrful stivei S1 i care va fi elementul din vrful stivei S2 dac se extrag
jumtate din elementele din stiva S1 i se adaug n ordinea extragerii n stiva S2?
(6p.)
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m coloane
format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe
ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu.
1
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
(10p.)
Subiectul II
64
a.
e.fig.tip
2.
a.
Suma elementelor de
principal a tabloului a
pe
diagonala b.
c.
d.
b.
a.e
c.
e.punct.x
d.
e.a.x
Suma elementelor de
secundar a tabloului a
pe
diagonala
2
1
1
2
3
3
3 4
2 4 5
3 5
4
3.
4.
5.
Scriei un program C/C++ care citete de la tastatur un text format din cel mult 200 de
litere ale alfabetului englez, n care cuvintele sunt separate printr-un singur spaiu i
afieaz pe ecran numrul de cuvinte din textul citit, care au prima, respectiv ultima liter,
vocal. n cazul n care n text nu exist un astfel de cuvnt, se va afia pe ecran mesajul
NU EXISTA. Se consider vocal orice liter din mulimea {a,A,e,E,i,I,o,O,u,U}.
Exemplu: dac textul introdus este:
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
pe ecran se va afia :
4
(10p.)
Subiectul II
63
a.
c.
2.
a.
c.
b.
4.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i
m(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m
coloane format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va
afia pe ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un
spaiu. Exemplu: pentru n=5 i m=4 se va afia:
1
2
6
7
11 16
12 17
13 18
4 9 14 19
5 10 15 20
(10p.)
Subiectul II
62
a.
c.
2.
a.
cerc.x
b.
c.x
c.
c.cerc.x
d.
raza.x
1:
2:
3:
4:
5:
6:
2 6
3
3
4 6
3
4.
Se consider o stiv S1, iniial vid, n care s-au introdus n ordine valorile a,b,c,d i o
alt stiv S2, iniial vid, n care au fost introduse, n ordine, valorile e,f,g,h. Care va fi
valoarea elementului din vrful stivei S1 i care va fi valoarea elementului din vrful stivei
S2 dac se extrag jumtate dintre elementele din stiva S2 i se adaug, n ordinea
extragerii, n stiva S1?
(6p.)
5.
Scriei un program C/C++ care citete de la tastatur un text de cel mult 255 de caractere,
dintre care cel puin unul este o liter mic a alfabetului englez, i afieaz pe ecran pe o
singur linie, desprite prin cte un spaiu, toate literele mici ale alfabetului englez care
apar n text. Fiecare liter va fi afiat o singur dat, n ordinea primei ei apariii n text.
(10p.)
Exemplu: pentru textul:
Pe ecran se va afia:
Calculati valoarea expresiei
a l c u t i v o r e x p s
Subiectul II
61
a.
2.
a.
c.
b.
c.
d.
(3p.)
(3p.)
4.
Se consider o stiv, iniial vid, n care s-au introdus n ordine valorile x,z,y i o
coad, iniial vid, n care au fost introduse, n ordine, valorile a,b,c,d,e,f. Care va fi
elementul din vrful stivei dac se extrag toate elementele din coad i se adaug n
ordinea extragerii n stiv?
(6p.)
5.
Subiectul II