Sunteți pe pagina 1din 51

1

SUBIECTUL II
1.1. Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele cu valorile 1
i 2: . Se noteaz cu AD(x) operaia prin care se adaug elementul cu valoarea x n coad
i cu EL operaia prin care se elimin un element din coad. Cte elemente va conine coada n
urma executrii secvenei de operaii: AD(4);EL;EL;AD(5);EL;AD(3)? (4p.)
a. 3 b. 1 c. 2 d. 5
1.2. Care este numrul maxim de componente conexe pe care le poate avea un graf neorientat cu 20
noduri i 12 muchii? (4p.) a. 6 b. 12 c. 10 d. 15
1.3. n declararea alturat, cmpurile x i y ale nregistrrii pot memora coordonatele carteziene
ale unui punct din planul xOy. Scriei o secven de instruciuni prin executarea creia se calculeaz
i se afieaz pe ecran distana dintre dou puncte ale cror coordonate sunt memorate de
variabilele A i B. (6p.) struct punct
{float x,y;} A,B;
float d;
1.4. Pentru arborele reprezentat prin vectorul de tai T=(6,6,5,0,6,4,4,7), scriei care este
nodul cu cei mai muli fii i care sunt frunzele arborelui. (6p.)
1.5. Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule n i m
(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii (numerotate
de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare element Aij
memoreaz cea mai mic dintre valorile indicilor i i j (1in, 1jm). Matricea se va afia pe
ecran, cte o linie a matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin
cte un spaiu. Exemplu: pentru n=4 i m=5 se va afia matricea alturat. (10p.)
1 1 1 1 1
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4
2.1. Cte grafuri neorientate, distincte, cu 4 vrfuri se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite. (4p.) a. 4
6

b. 2
6
c. 6
4

d. 4
2.2. Variabila t, declarat alturat, memoreaz n cmpurile a, b
i c lungimile laturilor unui triunghi. Care dintre urmtoarele
instruciuni atribuie cmpului p al variabilei t valoarea
perimetrului triunghiului respectiv? (4p.)
struct triunghi
{float a,b,c,p;
}t;
a. p.t=t.a+t.b+t.b; b. p.t=a.t+b.t+c.t;
c. t.p=t.a+t.b+t.c; d. t.p==t.a+t.b+t.c;
2.3. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele cu valorile 1, 2
i 3. Se noteaz cu AD(x) operaia prin care se adaug elementul cu valoarea x n vrful stivei i cu
EL operaia prin care se elimin elementul din vrful stivei. Asupra acestei stive se execut urmtoarea
secven de operaii: AD(4);EL;AD(5);EL;AD(6);EL;EL.
a) Care este valoarea elementului din vrful stivei n urma executrii acestei secvene de operaii?(3p.)
b)Care este suma valorilorelementelor aflate n stiv n urma executrii acestei secvene de operaii (3p)
2.4. n secvena de program alturat, variabila a memoreaz o matrice cu n linii i n coloane
(numerotate de la 0 la n-1) cu elemente numere ntregi, iar toate celelalte variabile sunt ntregi. tiind
c n este un numr natural nenul i c pe fiecare linie a matricei se afl cel puin un element nenul,
scriei instruciunile care pot nlocui punctele de suspensie din secvena de program alturat astfel
nct, n urma executrii acesteia, s se afieze ultima cifr a produsului elementelor nenule de
pe linia k (0k<n) a matricei a. (6p.) p = 1;
for(j = 0; j < n; j++)
.............
printf("%d",p);|cout<<p;
2.5. Scriei un program C/C++ care citete de la tastatur un cuvnt format din cel mult 20 de
caractere, doar litere ale alfabetului englez. Programul determin transformarea cuvntului citit prin
eliminarea fiecrei litere mici a cuvntului, restul literelor nemodificndu-se, ca n exemplu. Programul
afieaz pe ecran cuvntul obinut. n cazul n care cuvntul citit conine numai litere mici, programul va
afia mesajul CUVANT VID.
2 1

2

Exemple: - dac se citete cuvntul: baCALaUreaT se va afia pe ecran: CALUT
- dac se citete cuvntul: vara se va afia pe ecran: CUVANT VID (10p.)
3.1. Se consider un graf orientat cu 6 noduri numerotate de la 1 la 6 i cu mulimea arcelor format
doar din arcele:
- de la fiecare nod numerotat cu un numr neprim i (i>1) la toate nodurile numerotate cu numere ce
aparin mulimii divizorilor proprii ai lui i (divizori diferii de 1 i de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un numr prim i la nodul numerotat cu i-1
Pentru graful dat, cte dintre nodurile grafului au gradul exterior strict mai mare dect gradul interior?
a. 1 b. 2 c. 4 d. 3 (4p.)
3.2. Cte frunze are arborele cu rdcin descris prin urmtorul vector de tai:
(6,5,5,2,0,3,3,3,8,7,7)? (4p.) a. 1 b. 2 c. 5 d. 4
3.3. n declararea alturat, cmpurile x i y ale nregistrrii pot
memora numrtorul, respectiv numitorul unei fracii. Scriei
secvena de instruciuni prin executarea creia se construiete
n variabila f o fracie obinut prin nsumarea fraciilor memorate
n variabilele f1 i f2. (6p.)
struct fractie
{int x,y;
}f,f1,f2;
3.4. n secvena de instruciuni de mai jos, variabila s memoreaz un ir de caractere format doar din
litere ale alfabetului englez, iar variabilele i i n sunt de tip int. tiind c n urma executrii secvenei
s-a afiat succesiunea de caractere eeleeeneee scriei care este irul de caractere memorat de
variabila s. (6p.) n=strlen(s);
for(i=0;i<n;i++)
printf("%c%c",s[i],e); | cout<<s[i]<<'e';
3.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i construiete
n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori dup cum urmeaz:
- elementele aflate pe diagonala principal a matricei vor primi valoarea 0
- elementele de pe prima coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea n
- elementele de pe a doua coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea n-1
...
- elementele de pe ultima coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei pe cte o linie a ecranului,
cu cte un spaiu ntre elementele fiecrei linii (ca n exemplu).
Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 0 3 2 1
4 0 2 1
4 3 0 1
4 3 2 0
4.1. Se consider un graf orientat cu 6 noduri numerotate de la 1 la 6 i cu mulimea arcelor format
doar din arcele:
- de la fiecare nod numerotat cu un numr neprim i (i>1) la toate nodurile numerotate cu numere ce
aparin mulimii divizorilor proprii ai lui i (divizori diferii de 1 i de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un numr prim i la nodul numerotat cu i-1
Pentru graful dat, cte dintre nodurile grafului au gradul exterior egal cu gradul interior? (4p.)
a. 2 b. 3 c. 1 d. 4
4.2. Cte frunze are arborele cu rdcin, cu 8 noduri, numerotate de la 1 la 8, descris prin urmtorul
vector de tai: (6,5,5,2,0,3,3,3)? (4p.) a. 4 b. 6 c. 5 d. 3
4.3.Se consider o stiv n care iniial au fost introduse, n aceast
ordine, elementele cu valorile 1, 2 i 3, ca n figura alturat. Se
noteaz cu AD(x) operaia prin care se adaug elementul cu
valoarea x n vrful stivei i cu EL operaia prin care se elimin
elementul din vrful stivei. Reprezentai, dup modelul alturat,
coninutul stivei rezultat n urma executrii secvenei de operaii:
AD(4);EL;EL;AD(5);EL? (6p.)

1
vrf
2
3
baza



3

4.4. Fie s o variabil ce memoreaz un ir de caractere,
format doar din litere ale alfabetului englez, i i o variabil de tip
int. Scriei instruciunile ce pot nlocui punctele de suspensie din
secvena de program alturat astfel nct executarea ei s
determine nlocuirea tuturor literelor mici din irul s
cu litera W i apoi afiarea irului obinut. (6p.)

i=0;
while (i<strlen(s))
{
...............
}
printf("%s",s);|
cout<<s;
4.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i construiete
n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori dup cum urmeaz:
- elementele aflate pe diagonala secundar a matricei vor primi valoarea 0
- elementele de pe prima linie, cu excepia celui aflat pe diagonala secundar vor primi valoarea n
- elementele de pe a doua linie, cu excepia celui aflat pe diagonala secundar vor primi valoarea n-1
...
- elementele de pe ultima linie, cu excepia celui aflat pe diagonala secundar vor primi valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei pe cte o linie a ecranului,
cu cte un spaiu ntre elementele fiecrei linii (ca n exemplu).
Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 4 4 4 0
3 3 0 3
2 0 2 2
0 1 1 1
5.1. ntr-un graf neorientat cu 10 muchii, fiecare nod are gradul un numr nenul. Doar trei dintre
noduri au gradul un numr par, restul nodurilor avnd gradele numere impare. Care este numrul maxim
de noduri pe care poate s le aib graful? (4p.) a. 14 b. 17 c. 10 d. 16
5.2. Variabila d, declarat alturat, memoreaz n cmpurile a i
b limea i, respectiv, lungimea unui dreptunghi. Care dintre
urmtoarele instruciuni atribuie cmpului aria al variabilei d
valoarea ariei dreptunghiului respectiv? (4p.)
struct dreptunghi
{float a,b,aria;
}d;
a. d.aria==d.a*d.b; b. aria.d=a.d*b.d;
c. aria.d=d.a*d.b; d. d.aria=d.a*d.b;
5.3. Se consider un arbore cu rdcin n care doar 13 dintre nodurile arborelui au exact 2
descendeni direci (fii), restul nodurilor avnd cel mult un descendent direct (fiu). Care este numrul
frunzelor arborelui? (6p.)
5.4. Fie s o variabil ce memoreaz un ir de caractere, c i d
dou variabile ce memoreaz cte un caracter, iar n i i variabile
ntregi. Scriei instruciunile ce pot nlocui punctele de suspensie
din secvena de program de mai jos astfel nct executarea ei s
determine nlocuirea tuturor apariiilor caracterului memorat
de variabila c n irul s cu caracterul memorat de variabila d i
apoi afiarea irului obinut. (6p.)
n=strlen(s);
for(i=0;i<n;i++)
...............
printf("%s",s);|
cout<<s;
5.5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m (2m10,
2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii (numerotate de la 1 la
n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare element Aij memoreaz cea mai
mare dintre valorile indicilor i i j (1in, 1jm). Matricea se va afia pe ecran, cte o linie a
matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. (10p.)
Exemplu: pentru n=4 i m=5 se va afia matricea alturat. . (10p.) 1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
6.1. n declararea alturat, cmpul a al structurii memoreaz
numratorul, iar cmpul b memoreaz numitorul unei fracii. Care
dintre urmtoarele secvene de instruciuni determin, n urma
executrii, interschimbarea numitorului fraciei x cu numitorul
fraciei y? (4p.)
struct p{
int a,b;} x,y;
int t;
a. t=x.b; x.b=y.b; y.b=t; b. t=b.x; b.x=b.y; b.y=t;

4

c. x.b=y.b; d. b.x=b.y;
6.2. Se consider un graf neorientat cu 10 noduri i 7 muchii. Care este numrul maxim de
componente conexe din care poate fi format graful? (4p.) a. 8 b. 7 c. 6 d. 10
6.3. Care este numrul de muchii ale unui arbore cu 15 noduri? (6p.)
6.4. n secvena alturat se consider c variabila a memoreaz
un tablou bidimensional cu n linii i n coloane, numerotate de la 0
la n-1, iar toate celelalte variabile sunt ntregi. Ce valoare se va
afia n urma executrii secvenei, dac n=4, iar tabloul are
coninutul de mai jos? 1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7 (6p.)
p=0; u=n-1; s=0;
while (p<=u)
{ s=s+a[p][p]+a[u][u];
p=p+1; u=u-1;
}
cout<<s; |
printf(%d,s);
6.5. Se consider un text cu maximum 255 de caractere n care cuvintele sunt separate prin unul sau
mai multe spaii. Primul caracter din textul citit este o liter, iar cuvintele sunt formate numai din litere
mici ale alfabetului englez. Scriei un program C/C++ care citete de la tastatur textul i l transform
nlocuind prima liter a fiecrui cuvnt cu litera mare corespunztoare, restul caracterelor rmnnd
nemodificate. Textul astfel transformat va fi afiat pe ecran. Exemplu: dac de la tastatur se introduce
textul: mare frig rosu se va afia pe ecran: Mare Frig Rosu (10p.)
7.1. Se consider tabloul bidimensional a cu n linii
numerotate de la 0 la n-1 i m coloane numerotate de la 0
la m-1. Ce reprezintelementul a[n-1][p] dup executarea
secvenei de program alturate? (4p.)
p=0;
for (i=1;i<m;i++)
if (a[n-1][p]<a[n-1][i])
p=i;
a. cel mai mare element de pe linia n-1 b. cel mai mic element de pe linia n-1
c. cel mai mare element de pe coloana n-1 d. cel mai mic element de pe coloana n-1
7.2.Care dintre urmtoarele valori pot reprezenta gradele nodurilor unui graf neorientat cu 6 noduri?(4p)
a. 3 2 2 2 3 3 b. 4 2 2 2 3 2 c. 5 2 2 2 0 3 d. 5 2 2 2 1 2
7.3. Considerndu-se declararea alturat, scriei o secven
de instruciuni prin executarea creia s se afieze, pe o
singur linie a ecranului, coninutul variabilei x. (6p.)

struct elev
{ char nume[50];
int clasa;
float medie;
}x;
7.4. Se consider graful neorientat cu mulimea vrfurilor {1,2,3,4,5,6} i mulimea muchiilor
{[1,2],[2,3],[3,4],[3,5],[4,5],[1,3],[2,6],[2,4],[4,6]}. Care este numrul minim de
muchii ce trebuie eliminate i care sunt aceste muchii astfel nct graful parial obinut s nu mai fie
conex? (6p.)
7.5. Se consider un text cu maximum 255 de caractere, format din litere mici ale alfabetului englez i
spaii. Textul conine cel puin o consoan. Scriei un program C/C++ care citete de la tastatur textul
i afieaz pe ecran numai ultima consoan care apare n text. Exemplu: dac de la tastatur se
introduce textul mare frig saci pe ecran se va afia: c (10p.)
8.1. Cte frunze are arborele cu 8 noduri i rdcina 1, reprezentat prin matricea de adiacen
alturat? (4p.) 0 1 0 0 1 0 0 0
1 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0
0 0 1 0 0 0 0 0
1 0 0 0 0 1 0 1
0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0
a. 5 b. 4 c. 3 d. 2
8.2. Care este numrul maxim de vrfuri de grad 0 pe care le poate avea un graf neorientat cu 10
noduri i 7 muchii? (4p.) a. 5 b. 6 c. 4 d. 7
8.3. Ce se afieaz n urma executrii secvenei de program urmtoare, dac variabila s memoreaz
irul de caractere abcdefgh?
strcpy(s+2,s+4);

5

cout<<s<< <<strlen(s); | printf(%s %d ,s,strlen(s)); (6p.)
8.4. Se consider un graf orientat cu 6 noduri care are urmtoarele proprietti:
- suma gradelor externe ale tuturor varfurilor grafului este egal cu 6;
- sunt doar 3 vrfuri care au gradul intern egal cu 1.
Care este valoarea maxim pe care o poate avea gradul extern al unui vrf din graful dat? Reprezentai
prin liste de adiacen un graf care ndeplinete condiiile din enunul problemei i n care unul dintre
vrfuri are acest grad extern maxim. (6p.)
8.5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p (2n15,
1p15) i construiete n memorie un tablou bidimensional cu n linii i p coloane. Tabloul va fi
construit astfel nct, parcurgnd tabloul linie cu linie de sus n jos i fiecare linie de la stnga la dreapta,
s se obin irul primelor n*p ptrate perfecte impare, ordonat strict cresctor, ca n exemplu.
Tabloul astfel construit va fi afiat pe ecran, fiecare linie a tabloului pe cte o linie a ecranului, cu cte un
spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=2, p=3 programul va afia tabloul alturat: (10p.) 1 9 25
49 81 121



9.1. Considernd declararea alturat, care dintre urmtoarele secvene de instruciuni realizeaz n
mod corect citirea de la tastatur a valorilor celor dou cmpuri ale variabilei x? (4p.)
struct { a. cin>>x; | scanf(%d, &x);
int a, b; b. cin>>a.x>>b.x; | scanf(%d %d, &a.x,&b.x);
} x; c. cin>>x.a>>x.b; | scanf(%d %d, &x.a,&x.b);
d. cin>>a->x>>b->x; | scanf(%d %d, &a->x,&b->x);
9.2. Se consider graful neorientat G cu 8 noduri, care are urmtoarele proprieti:
- suma gradelor tuturor nodurilor este 12
- graful are exact 3 noduri cu gradul 1.
Care este numrul maxim de noduri de grad 0 ale grafului G? (4p.)
a. 1 b. 4 c. 2 d. 0
9.3. Ce se afieaz n urma executrii secvenei de
program alturate, dac variabila s memoreaz irul
de caractere abcdef iar variabila n este de tip
ntreg? (6p.)
n=strlen(s);
s[n-1]=s[0];
cout<<s; | printf(%s ,s);
9.4. Se consider graful orientat G reprezentat prin listele de
adiacen alturate. Care este lungimea maxim a unui drum
elementar din acest graf? Care sunt arcele care compun un drum
cu aceste proprieti? (6p.)

9.5. Se consider tabloul bidimensional cu n linii i n coloane ce conine numere naturale cu cel mult
patru cifre fiecare. Scriei programul C/C++ care citete de la tastatur numrul natural n (2n23) i
cele n*n elemente ale tabloului i apoi afieaz pe ecran elementele primului ptrat concentric,
separate prin cte un spaiu. Ptratul este parcurs n sensul acelor de ceasornic ncepnd din colul su
stnga-sus, ca n exemplu. Primul ptrat concentric este format din prima i ultima linie, prima i ultima
coloan a tabloului. Exemplu: pentru n=5 i tabloul alturat, 1 2 3 4 5
se va afia: 1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6 (10p.) 6 7 8 9 1
2 3 4 5 6
7 8 9 1 2
3 4 5 6 7
10.1. Considernd declararea alturat, care dintre urmtoarele secvene de instruciuni afieaz
valorile memorate n cele dou cmpuri ale variabilei x, separate printr-un spaiu? (4p.)
struct { a. cout <<x.a<< <<x.b; | printf(%d %d, x.a,x.b);
int a, b; b. cout<<a.x<< <<b.x; | printf(%d %d, a.x,b.x);
} x; c. cout<<x; | printf(%d, x);
d. cout<<a->x<< <<b->x; | printf(%d %d, a->x,b->x);

6

10.2. Se consider declarrile de mai jos:
char s[ ]=abbacdde;
int i;
Ce ir reine variabila s dup executarea
secvenei de instruciuni alturate? (4p.)


i=0;
while (i<strlen(s)-1)
if (s[i]==s[i+1])
{ strcpy(s+i,s+i+2);
if (i>0) i=i-1; }
else i=i+1;
a. aace b. ace c. ce d. acde
10.3. Care este gradul maxim pe care l poate avea un nod al unui graf neorientat cu 6 muchii i
6 noduri dintre care exact dou au gradul 0? Care este reprezentarea prin liste de adiacen pentru un
astfel de graf? (6p.)
10.4. Se consider graful neorientat cu 80 de noduri i 3160 muchii. Care este numrul de muchii
ce pot fi eliminate astfel nct graful parial obinut s devin arbore? (6p.)
10.5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p (2n15,
1p15) i construiete n memorie un tablou bidimensional cu n linii i p coloane. Tabloul va fi
construit astfel nct parcurgnd matricea de la prima linie ctre ultima i fiecare linie de la stnga la
dreapta s se obin irul primelor n*p ptrate perfecte pare ordonat strict cresctor. Tabloul astfel
construit va fi afiat pe ecran, fiecare linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre
elementele fiecrei linii. Exemplu: pentru n=2, p=3 programul va afia tabloul alturat: (10p.)
0 4 16
36 64 100

11.1. Se consider graful orientat reprezentat prin matricea de
adiacen alturat. Care este lungimea maxim a unui drum
de la vrful 4 pn la vrful 6 format din vrfuri distincte dou
cte dou? (6p.)

a. 4 b. 3 c. 1 d. 5
0 1 1 0 0 0
0 0 0 0 1 1
0 0 0 0 0 0
0 0 1 0 1 0
1 1 0 0 0 1
1 0 1 0 0 0
11.2. Pentru a memora simultan numele i media la informatic a unui elev n variabila e, se
poate utiliza declararea: (4p.)
a. struct e{ b. char e.nume[40];
string nume; float media;} float e.media;
c. float e; d. struct {char a[40]; float b;} e;
11.3. Ce se afieaz pe ecran n
urma executrii secvenei de program
alturate, n care variabila s memoreaz
un ir cu cel mult 12 caractere, iar
variabila i este de tip ntreg? (6p.)

strcpy(s,abracadabra);
i=0;
cout<<strlen(s); | printf("%d",strlen(s));
while (i<strlen(s))
if (s[i]=='a')
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<" "<<s; | printf(" %s",s);
11.4. Cte grafuri neorientate distincte, fr bucle, cu 4 vrfuri, se pot construi? Dou grafuri sunt
distincte dac matricele lor de adiacen difer. (4p.)
11.5. Scriei un program C/C++ care citete de la tastatur dou valori naturale nenule m i n (m10,
n10) i apoi m*n numere naturale nenule cu cel mult 4 cifre fiecare, reprezentnd elementele unei
matrice cu m linii i n coloane. Programul determin apoi valorile minime de pe fiecare linie a matricei i
le afieaz pe o linie a ecranului separate prin cte un spaiu. Exemplu: pentru m=3, n=5 i matricea

3 2 7 13 5
10 9 12 6 9
7 4 5 6 3
se afieaz pe ecran valorile 3 6 2 (cea mai mic valoare de pe prima
linie a matricei este 3, cea mai mic valoare de pe linia a doua este 6, cea mai mic valoare de pe linia a
treia este 2). (10p.)
12.1. Un graf neorientat cu 6 noduri, numerotate de la 1 la 6,
0 1 1 0 1 1

7

este reprezentat prin matricea de adiacen alturat.
Care sunt vrfurile care au gradul maxim? (4p.)

a. 1 b. 3 c. 1, 3 d. 1, 3, 5

1 0 1 0 0 1
1 1 0 1 1 0
0 0 1 0 1 0
1 0 1 1 0 0
1 1 0 0 0 0
12.2. Pentru care dintre urmtorii arbori cu rdcin, fiecare avnd 9 noduri, numerotate de la 1 la 9,
memorai cu ajutorul vectorilor de tai, nodul 3 are cei mai muli descendeni? (4p.)
a. tata=(2,0,2,3,2,3,4,4,3) b. tata=(3,3,4,0,2,3,4,4,4)
c. tata=(4,2,4,0,3,3,3,3,3) d. tata=(0,1,1,3,4,3,4,4,3)
12.3. O variabil e este folosit pentru a memora simultan numele i prenumele unui elev precum i
cele trei note obinute de acesta la un concurs de atletism. tiind c notele sunt numere ntregi cu
maximum dou cifre, numele este un ir cu maximum 20 de caractere, prenumele este un ir cu
maximum 30 de caractere iar punctajul total al elevului se calculeaz folosind atribuirea:
total=e.nota1+e.nota2+e.nota3;
scriei declararea variabilei e. (6p.)
12.4. Scriei ce se afieaz pe ecran n
urma executrii secvenei de program
alturate, n care variabila s memoreaz
un ir cu cel mult 12 caractere, iar
variabila i este de tip ntreg. (6p.)

char s[13]="informatica";
cout<<strlen(s); | printf("%d",strlen(s));
for (i=0;i<strlen(s);i++)
if (s[i]=='a' || s[i]=='e' || s[i]=='i' ||
s[i]=='o' || s[i]=='u')
s[i]= s[i]+1;
cout<<" "<<s; | printf(" %s",s);
12.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<25) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei elemente
primesc valori dup cum urmeaz: elementul din linia i i coloana j primete ca valoare ultima cifr a
produsului i*j (1in i 1jn). Programul va afia matricea astfel construit pe ecran, cte o linie a
matricei pe o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 1 2 3 4
2 4 6 8
3 6 9 2
4 8 2 6
13.1. Care este vectorul "de tai" pentru arborele cu rdcin
din figura alturat? (6p.)

a. 0 0 5 7 6 5 1
b. 1 0 0 7 6 5 0
c. 7 4 5 0 4 5 4
d. 7 4 5 0 4 5 7


13.2. Cte grafuri neorientate distincte, cu 5 noduri, numerotate de la 1 la 5, se pot construi, astfel
nct nodul 1 s aib gradul 1? Dou grafuri sunt distincte dac matricele lor de adiacen sunt diferite.
a. 32 b. 256 c. 15 d. 24 (4p.)
13.3. Pentru a memora denumirea unui medicament i preul acestuia se folosete variabila m. Scriei
declararea variabilei m tiind c denumirea medicamentului este un ir cu maximum 30 de caractere,
preul acestuia este un numr real, iar majorarea cu 10% a preului se face folosind urmtoarea
atribuire: m.pret=m.pret*1.1; (4p.)
13.4. Scriei ce se afieaz pe ecran n
urma executrii secvenei de program
alturate, n care variabila s memoreaz
un ir de cel mult 12 caractere, iar
variabila i este de tip ntreg. (6p.)

char s[13]="abcdefghoid";
i=0;
cout<<strlen(s); | printf("%d",strlen(s));
while (i<strlen(s))
if (s[i]=='a' || s[i]=='e' || s[i]=='i' ||
s[i]=='o' || s[i]=='u')
strcpy(s+i,s+i+1);
else i++;
cout<<" "<<s; | printf(" %s",s);

8

13.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<40) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotare de la 1 la n, ale crei elemente
primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule;
- elementele aflate deasupra diagonalei secundare sunt toate 1;
- elementele aflate sub diagonala secundar sunt toate 2.
Programul afieaz pe ecran matricea construit, cte o linie a matricei pe cte o linie a ecranului,
elementele fiecrei linii fiind separate prin cte un spaiu. 1 1 1 0
Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 1 1 0 2
1 0 2 2
0 2 2 2
14.1. Se consider un graf neorientat cu 5 noduri, etichetate cu literele a, b, c, d, e, n care orice nod
etichetat cu o vocal este adiacent cu toate nodurile etichetate cu consoane i numai cu acestea, iar
orice nod etichetat cu o consoan este adiacent numai cu nodurile etichetate cu vocale. Cte muchii are
acest graf? (4p.) a. 12 b. 6 c. 4 d. 3
14.2. ntr-o stiv au fost introduse, n aceast ordine, valorile 10, 5,
4, ca n figura alturat. Dac se noteaz cu PUSH(x) operaia prin
care se adaug valoarea x n vrful stivei, i cu POP operaia prin
care se extrage elementul din vrful stivei, care este coninutul stivei
dup executarea urmtoarelor operaii? POP; PUSH(7); POP;
POP; PUSH(9); (6p.)

a.

b.


c.


d.







14.3. Ce se afieaz pe ecran n urma
executrii secvenei de program
alturate, n care variabila s memoreaz
un ir cu cel mult 10 caractere, iar
variabilele i, j i k sunt de tip ntreg?
(4p.)

char s[11]="abcduecda";
cout<<strlen(s); | printf(%d, strlen(s));
i=0; j=strlen(s)-1;
k=0;
while (i<j)
{ if (s[i]==s[j])
k=k+1;
i=i+1; j=j-1;
}
cout<<" "<<k; | printf(" %d",k);
14.4. Care sunt etichetele nodurilor de tip frunz ale arborelui cu rdcin, avnd 7 noduri, numerotate
de la 1 la 7, i urmtorul vector de tai: (5,1,5,1,0,7,5)? (6p.)
14.5. Scriei un program C/C++ care citete de la tastatur un numr natural nenul cu exact 4 cifre,
construiete n memorie i afieaz apoi pe ecran o matrice avnd 4 linii i 4 coloane, completat
astfel: elementele de pe prima coloan a matricei vor fi toate egale cu cifra unitilor numrului dat,
elementele de pe a doua coloan a matricei vor fi toate egale cu cifra zecilor numrului dat, elementele
de pe a treia coloan a matricei vor fi toate egale cu cifra sutelor numrului dat, iar elementele de pe a
patra coloan a matricei vor fi toate egale cu cifra miilor numrului dat. Matricea va fi afiat pe ecran,
cte o linie a matricei pe cte o linie a ecranului, iar elementele fiecrei linii vor fi separate prin cte un
spaiu.
Exemplu: dac se citete numrul 1359, matricea construit
va fi cea alturat. (10p.)



9

15.1. Ci frai are nodul 1 din arborele cu rdcin cu 7 noduri, numerotate de la 1 la 7, avnd
urmtorul vector de tai: (5,1,5,1,0,7,5)? (6p.) a. 0 b. 1 c. 2 d. 3
15.2. Stiva este o structur de date care poate fi descris astfel: (4p.)
a. oricare element poate fi extras b. ultimul element introdus n stiv este
ultimul care poate fi extras
c. primul element introdus n stiv este d. primul element introdus n stiv este
primul care poate fi extras ultimul care poate fi extras
15.3. Ce se afieaz pe ecran n urma
executrii secvenei de program
alturate, n care variabila s
memoreaz un ir cu cel mult 10
caractere, iar variabila i este de
tip ntreg? (4p.)

i=0; char s[11]="abaemeiut";
cout<<strlen(s); | printf("%d",strlen(s));
while (i<strlen(s))
if (s[i]=='a' || s[i]=='e' || s[i]=='i' ||
s[i]=='o' || s[i]=='u)
{ strcpy(s+i,s+i+1); i=i+1; }
else
i=i+2;
cout<<" "<<s; | printf(" %s",s);
15.4. Se consider graful neorientat cu 8 noduri, numerotate de la 1 la 8, i muchiile [1,2], [1,6],
[1,7], [2,3], [2,6], [3,6], [3,4], [4,5], [4,8], [5,6], [7,8]. Care este gradul minim al unui
nod din acest graf? Care sunt nodurile care au acest grad minim? (6p.)
15.5. Scriei un program C/C++ care citete de la tastatur un numr natural cu exact 5 cifre i
construiete n memorie o matrice cu 5 linii i 5 coloane, numerotate de la 1 la 5, format astfel:
- elementele de pe linia 1, au toate valoarea egal cu cifra unitilor numrului citit;
- elementele de pe linia 2, au toate valoarea egal cu cifra zecilor numrului citit;
- elementele de pe linia 3, au toate valoarea egal cu cifra sutelor;
- elementele de pe linia 4, au toate valoarea egal cu cifra miilor;
- elementele de pe linia 5, au toate valoarea egal cu cifra zecilor de mii.
Programul afieaz pe ecran matricea astfel construit, cte o linie a matricei pe cte o linie a ecranului,
elementele de pe aceeai linie fiind separate prin cte un spaiu.
Exemplu: dac se citete numrul 28731 matricea construit va fi cea alturat. (10p.)
1 1 1 1 1
3 3 3 3 3
7 7 7 7 7
8 8 8 8 8
2 2 2 2 2
16.1. Numrul de muchii ale unui graf neorientat cu 12 noduri, n care fiecare nod este adiacent cu
exact 11 noduri, este : (4p.) a. 144 b. 66 c. 78 d. 11
16.2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan vrsta n ani mplinii i media la bacalaureat a unui elev? (4p.)
a. struct {float media; b. struct x {float media;
int varsta;} x; int varsta;};
c. float x.media; d. struct elev {float x.media;
int x.varsta; int x.varsta};
16.3. ntr-o stiv au fost introduse n aceast ordine, numerele 5, 7, 3, 8. Precizai numrul minim de
elemente care trebuie extrase din stiv pentru a fi siguri c s-a extras inclusiv elementul cu valoarea 3 i
care este elementul aflat n vrful stivei dup extragerea acestui element? (6p.)
16.4. Ce va afia secvena alturat,
tiind c variabila a memoreaz un ir
cu cel mult 100 de caractere, iar
variabila i este de tip ntreg? (6p.)

strcpy(a,clasa a-XII-a A);
cout<<a<<endl; | printf(%s\n,a);
for(i=0;i<strlen(a);i++)
if(a[i]>=a&&a[i]<=z)
cout<<a[i]; | printf(%s,a[i]);
16.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<16), construiete
n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care elementele de pe cele dou
diagonale sunt egale cu 4, iar restul elementelor sunt egale cu 3. Elementele matricei vor fi afiate pe
ecran, cte o linie a matricei pe cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 3 3 3 4

10

3 4 3 4 3
3 3 4 3 3
3 4 3 4 3
4 3 3 3 4
17.1. Care este gradul maxim posibil i care este gradul minim posibil pentru un nod dintr-un graf
cu n noduri, care este arbore? (4p.) a. n-1 i 1 b. n i 1
c. n i 0 d. n-1 i 0
17.2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan codul de identificare al unui candidat la un examen, exprimat ca un numr natural
de cel mult 4 cifre i media obinut de acesta la examen, exprimat ca un numr real? (4p.)
a. struct x { int cod; b. struct { int cod;
float media;}; float media;} x;
c. int x.cod ; d. struct candidat { int x.cod;
float x.media; float x.media;};
17.3. ntr-o stiv au fost introduse, n aceast ordine, numerele 5, 7, 3, 8. Scriei care este numrul
minim de elemente care trebuie extrase din stiv pentru a fi siguri c s-a extrasinclusiv elementul cu
valoarea 7 i care este numrul de elemente rmase n stiv dup extragerea acestui element. (6p.)
17.4. Ce va afia secvena alturat de
program, tiind c variabila a
memoreaz un ir cu cel mult 100 de
caractere, iar variabila i este de tip
ntreg? (6p.)
strcpy(a,bacalaureat);
n=strlen(a);
cout<<n<<endl;| printf(%d\n,n);
cout<<a[0]<<*<<a[n-1];|
printf(%c*%c,a[0],a[n-1]);
17.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete
n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care fiecare element de pe
diagonala secundar are valoarea n, fiecare element aflat deasupra diagonalei secundare este mai mic
cu o unitate dect vecinul aflat pe aceeai linie n dreapta lui i fiecare element aflat sub diagonala
secundar este mai mare cu o unitate dect vecinul aflat pe aceeai linie n stnga lui. Elementele
matricei vor fi afiate pe ecran, cte o linie a matricei pe cte o linie a ecranului cu cte un spaiu ntre
elementele fiecrei linii. 1 2 3 4 5
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
18.1. Un arbore binar este un arbore cu rdcin n care fiecare nod are cel mult 2 descendeni direci
(fii), iar nlimea arborelui este reprezentat de numrul maxim de muchii ale unui lan elementar ce
unete rdcina cu un vrf terminal (frunz). Pentru un arbore binar cu exact 8 noduri, precizai care
este nlimea minim posibil? (4p.) a. 4 b. 7 c. 3 d. 2
18.2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan coordonatele reale (abscisa i ordonata) ale unui punct n planul xOy? (4p.)

a. struct punct {float ox,oy;} x; b. char x[2];
c. struct x {float ox,oy;}; d. float x;
18.3. Care va fi valoarea elementului aflat n vrful unei stive iniial vid i care este numrul de
elemente rmase n stiv, dup efectuarea, n aceast ordine, a urmtoarelor operaii: se introduce
valoarea 3; se introduce valoarea 7; se introduce valoarea 5; se extrage un element; se introduce
valoarea 2; se introduce valoarea 4; se extrage un element. (6p.)
18.4. n secvena alturat, variabila a memoreaz un ir
cu cel mult 100 de caractere, iar variabila i este de tip
ntreg. Completai punctele de suspensie din secven
astfel nct aceasta s afieze irul de caractere
*nf*rm*t*c*. (6p.)
strcpy(a,informatica);
for(i=0;i<strlen(a);i++)
if(...)
cout<<...; | printf(...);
else
cout<<...; | printf(...);
18.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete
n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate de la 1 la n. Fiecare

11

element din matrice aflat pe o linie impar va fi egal cu numrul liniei pe care se afl i fiecare element
aflat pe o linie par va fi egal cu numrul coloanei pe care se afl. 1 1 1 1 1
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 1 2 3 4 5
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 3 3 3 3 3
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 1 2 3 4 5
5 5 5 5 5
19.1. Care este numrul de muchii care trebuie eliminate dintr-un graf neorientat, complet, cu 7 noduri,
astfel nct graful parial obinut s fie arbore? (4p.) a. 15 b. 1 c. 6 d. 21
19.2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan partea real i partea imaginar a unui numr complex? (4p.)
a. struct x {float im,re;}; b. char x[2];
c. struct complex{ float im, re;} x; d. float x;
19.3. Ce va afia secvena alturat de program, tiind
c variabila x memoreaz un ir cu cel mult 100 de
caractere, iar variabila i este de tip ntreg? (6p.)
strcpy(x,bac2008);
for(i=3;i<strlen(x);i++)
cout<<x[i]; | printf(%c,x[i]);
cout<<x<<endl; | printf(%s\n,x);
19.4. Care vor fi valorile primului i ultimului element extras dintr-o coad iniial vid, dac se efectueaz
urmtoarele operaii, n aceast ordine: se introduce valoarea 5; se introduce valoarea 4; se extrage un
element; se introduce valoarea 2; se introduce valoarea 7; se extrage un element. (6p.)
19.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete
n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate de la 1 la n, n care
fiecare element aflat pe o coloana impar este egal cu suma dintre numrul liniei i numrul coloanei pe
care se afl i fiecare element aflat pe o coloan par este egal cu numrul liniei pe care se afl.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 2 1 4 1 6
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 3 2 5 2 7
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 3 6 3 8
5 4 7 4 9
6 5 8 5 10
20.1. Suma gradelor interne ale tuturor vrfurilor unui graf orientat este ntotdeauna egal cu: (4p.)
a. numrul valorilor de 1 aflate sub diagonala
principal n matricea sa de adiacen
b. produsul gradelor externe ale tuturor
vrfurilor grafului
c. suma tuturor valorilor aflate deasupra diagonalei
principale n matricea sa de adiacen
d. suma gradelor externe ale tuturor
vrfurilor grafului
20.2. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan numrtorul i numitorul unei fracii ireductibile: (4p.)
a. struct fractie{int n1,n2;} x; b. char x[2];
c. struct x{int n1,n2;}; d. float x;
20.3. Care vor fi valorile primului i ultimului element ale unei cozi iniial vide, dac se efectueaz
urmtoarele operaii, n aceast ordine: se introduce valoarea 2; se introduce valoarea 5; se extrage un
element; se introduce valoarea 9; se introduce valoarea 7; se extrage un element. (6p.)
20.4. n secvena alturat, variabila a memoreaz un ir cu
cel mult 100 de caractere, iar variabila i este de tip ntreg.
Completai punctele de suspensie, astfel nct aceasta s
afieze caracterele irului memorat n variabila a, n ordine
invers celei n care se gsesc n ir. (6p.)
strcpy(a,Bac 2008 iulie);
for(...)
cout<<a[i];
| printf(%c,a[i]);

20.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<10), construiete
n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate de la 1 la n, n care
fiecare element aflat pe prima linie sau pe prima coloan din matrice este egal cu suma dintre numrul
liniei i numrul coloanei pe care se afl, iar fiecare dintre celelalte elemente este egal cu suma dintre
elementul vecin aflat pe aceeai linie cu el, dar pe coloana din stnga sa i elementul vecin aflat pe
aceeai coloan cu el, dar pe linia de deasupra sa. 2 3 4 5 6
Elementele matricei vor fi afiate pe ecran, cte o linie a 3 6 10 15 21
matricei pe cte o linie a ecranului cu cte un spaiu ntre 4 10 20 35 56
elementele fiecrei linii. 5 15 35 70 126
Exemplu: pentru n=5 se va obine matricea alturat. (10p.) 6 21 56 126 252

12

21.1.n secvena de mai jos, variabila a memoreaz un tablou bidimensional cu 4 linii i 4 coloane,
numerotate de la 1 la 4, cu elementele reale. Variabila p este real, iar i este de tip ntreg.
Care dintre instruciunile de mai jos poate nlocui p=1;
punctele de suspensie astfel nct secvena s for(i=1;i<=4;i++)
determine memorarea n variabila p a valorii produsului ....
celor 8 elemente aflate pe diagonalele matricei. (4p.)
a. p=p*a[5-i][i]*a[i][5-i]; b. p=p*a[i][i]*a[i][4-i];
c. p=p*a[i][i]*a[5-i][5-i]; d. p=p*a[5-i][5-i]*a[i][5-i];
21.2. ntr-un graf orientat cu 7 noduri suma gradelor interioare ale tuturor nodurilor este egal cu 10.
Care este valoarea sumei gradelor exterioare ale tuturor nodurilor? (4p.)
a. 5 b. 20 c. 10 d. 17
21.3.Se consider declarrile de mai jos, n care variabila ev memoreaz date despre un anumit elev.
Scriei instruciunea C/C++ prin care se iniializeaz anul naterii acestui elev cu valoarea 1990. (6p.)
struct data{
int zi;
int luna;
int an;
};
struct elev {
char nume[30];
struct data data_nasterii;
float media;
}ev;
21.4. Stiva S i coada C memoreaz numere ntregi.n ambele se introduc, n ordine, numerele 1, 2, 3,
4. Se noteaz cu SC operaia de extragere a unui element din stiva S i adugarea acestuia n coada
C, iar cu CS operaia de eliminare a unui element din coada C i introducerea acestuia n stiva S.
Dup executarea urmtoarei secvene de operaii: CS; CS; SC; CS; CS;
a) care este ultima valoare introdus n stiva stiva S? (3p.)
b) care este ultima valoare care a fost adugat n coada C? (3p.)
21.5.Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt formate doar
din litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *. Scriei un
program C/C++ care citete de la tastatur textul i afieaz pe ecran, pe cte o linie, toate secvenele
formate din cte dou litere identice, ca n exemplu. Exemplu: dac textul citit este:
se afieaz perechile alturate. (10p.) ii
ii
oo
22.1. ntr-o stiv ce memoreaz numere ntregi se introduc, n ordine, urmtoarele numere:
1,2,3,4,5,6,7. Cte numere trebuie s eliminm din stiv astfel ca n vrful stivei s se gseasc
numrul 5? (4p.) a. 5 b. 2 c. 3 d. 4
22.2. Pentru declararea alturat precizai care
dintre instruciunile de atribuire este greit:(4p.)

struct elev
{char nume[20];
int nota;} e1,e2;
a. e1=e2+1; b. e1.nume[2]=x; c. e1=e2; d. e1.nota=e2.nota+1;
22.3. Ce valoare are expresia de mai jos dac variabila s memoreaz irul de caractere alfabet,
format numai din litere? strlen(strcpy(s,s+2)) (6p.)
22.4. ntr-un graf neorientat cu 6 noduri, numerotate de la 1 la 6, exist cte o muchie ntre oricare
dou noduri numerotate cu numere consecutive i cte o muchie ntre nodul numerotat cu 6 i fiecare
dintre celelalte noduri. Cte subgrafuri cu exact 3 noduri, toate adiacente dou cte dou, are graful
dat? Scriei pentru fiecare dintre aceste subgrafuri nodurile din care este format. (6p.)
22.5.Scriei un program C/C++ care citete de la tastatur numerele naturale m i n din intervalul
[1,20], apoi construiete n memorie i afieaz pe ecran un tablou bidimensional cu m linii i n
coloane astfel nct prin parcurgerea acestuia linie cu linie de sus n jos i fiecare linie de la stnga la
dreapta, se obin n ordine descresctoare toate numerele naturale de la 1 la m*n, ca n exemplu.
Fiecare linie a tabloului este afiat pe cte o linie a ecranului, elementele aceleiai linii fiind separate
prin cte un spaiu. 12 11 10
Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat. (10p.) 9 8 7
6 5 4
3 2 1

13

23.1. Care din urmtoarele expresii are valoarea 1 dac i numai dac irul de caractere s, de lungime
10, este obinut prin concatenarea a dou iruri identice? (4p.)
a. strcmp(s,s+5)==0 b. s==strstr(s,s+5)
c. s==s+5 d. strcmp(s,strcat(s,s+5))==0
23.2. Funcia predefinit care returneaz modulul unui numr ntreg este: (4p.)
a. sgn b. fabs c. mod d. abs
23.3. Care este lungimea maxim a unui lan elementar pentru un arbore cu rdcin, cu 7 noduri,
numerotate de la 1 la 7, dat de vectorul de tai: (3,3,0,1,2,2,4)? Scriei muchiile din care este
alctuit un lan elementar de lungime maxim din acest arbore. (6p.)
23.4. Pentru declaraiile alturate care este
numrul maxim de numere ntregi ce pot fi
memorate n variabila a? (6p.)
struct punct2D {
int x; int y;};
struct punct2D a[10][10];
23.5. Un tablou bidimensional A cu m linii i n coloane (1sms100, 1sns100) conine pe prima linie
numerele 1,2,...,n, iar pe prima coloan numerele 1,2,...,m. Celelalte elemente ale tabloului sunt
date de relaia: Ai,j=Ai-1,j+Ai,j-1. Scriei un program C/C++ care citete de la tastatur numerele m i
n i afieaz pe ecran ultima cifr a elementului de pe ultima linie i ultima coloan a tabloului. (10p.)
Exemplu: pentru m=3 i n=4 se va afia 5 1 2 3 4
deoarece elementele tabloului A sunt: 2 4 7 11
3 7 14 25
24.1. Care dintre urmtoarele arce trebuie adugat unui graf
orientat cu 5 noduri, numerotate de la 1 la 5, reprezentat prin
matricea de adiacen alturat, astfel nct n acest graf s
existe cel puin un drum ntre oricare dou vrfuri? (4p.)

0 1 0 1 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 1
1 0 0 0 0
a. (3 , 5) b. (4 , 1) c. (5 , 3) d. (3 , 2)
24.2. Care din urmtoarele proprieti este adevrat pentru un graf orientat cu n vrfuri i n arce (n>3)
care are un circuit de lungime n: (4p.)
a. exist un vrf cu gradul intern n-1
b. pentru orice vrf gradul intern i gradul extern sunt egale
c. graful nu are drumuri de lungime strict mai mare dect 2
d. gradul intern al oricrui vrf este egal cu 2
24.3. Stiva S i coada C memoreaz numere ntregi. n ambele se introduc, n ordine, numerele 1, 2, 3,
4. Se noteaz cu SC operaia de extragere a unui element din stiva S i adugarea acestuia n coada
C, iar cu CS operaia de eliminare a unui element din coada C i introducerea acestuia n stiva S.
Care este ultima valoare introdus n stiva S i care este ultima valoare care a fost adugat n coada C
la executarea urmtoarei secvene de operaii : SC; CS; CS; SC; CS; (6p.)
24.4. Scriei o secven de instruciuni C/C++ care s iniializeze elementele unui tablou bidimensional
A, cu n linii i n coloane, 1<no5, cu numerele naturale 1,2,...,n, astfel nct pe fiecare linie sau
coloan s existe toate numerele din mulimea {1,2,...,n}. (6p.)
24.5. Scriei un program C/C++ care citete de la tastatur dou iruri de caractere formate din
maximum 100 litere mici ale alfabetului englez i afieaz pe ecran cel mai lung sufix comun al celor
dou iruri de caractere. Dac cele dou iruri nu au niciun sufix comun, atunci programul va afia pe
ecran mesajul NU EXIST. Exemplu: pentru irurile marina i elena se va afia na (10p.)
25.1. Structura de date la care se aplic principiul primul venit, primul ieit: (first in, first out) este: (4p.)
a. lista nlnuit b. Stiva c. coada d. graf orientat
25.2. Un graf neorientat cu 5 noduri are gradele nodurilor egale cu 1,2,2,1,x. Pentru ce valoare a
lui x graful este arbore? (4p.) a. x=2 b. x<2 c. x>2 d. nicio valoare
25.3. Scriei n C/C++ o instruciune de atribuire n urma creia o variabil real y va memora valoarea
expresiei de mai jos pentru variabila ntreag nenul x. (6p.)
25.4. Scriei secvena de instruciuni care permite afiarea pe ecran a mesajului Corect dac un ir de
maximum 100 caractere, reinut de variabila s, conine caractere de tip cifr, sau mesajul Incorect n
caz contrar. (6p.)

14

25.5.Se consider un tablou bidimensional cu m linii i n coloane (1sms100,1sns100), ale crui
elemente aparin mulimii {0,1,2}. Scriei un program C/C++ citete de la tastatur valorile m, n i
elementele tabloului i care afieaz pe ecran numerele de ordine ale coloanelor pentru care produsul
elementelor situate pe ele, este maxim. Liniile i coloanele tabloului se numeroteaz de la 1 la m
respectiv de la 1 la n. Numerele se vor afia separate prin cte un spaiu. 2 1 1 0
Exemplu: pentru m=4 i n=4 i tabloul alturat se va afia, 1 1 1 1
nu neaprat n aceast ordine: 1 2 (10p.) 2 2 2 1
1 2 1 1
26.1. Pentru graful neorientat din figura alturat, care
este numrul de
muchii ale celui mai lung lan elementar, ce are ca
extremiti
nodurile 1 i 3 ? (4p.)

a. 2 b. 3 c. 1 d. 4

26.2. Care este nodul ce poate fi ales ca rdcin a
arborelui din figura
alturat, astfel nct rdcina s aib 3 descendeni
direci (fii) ? (4p.)
a. 3 b. 4 c. 6 d. 1

26.3. Care va fi irul de caractere afiat dup
executarea secvenei alturate , n care variabila s
memoreaz un ir cu cel mult 5 caractere? (6p.)
char s[]=raton;
s[1]=s[3];
cout<<s; | printf(%s,s);

26.4. ntr-o stiv care memoreaz numere, o valoare x poate fi
adugat numai dac n vrful stivei se afl un element cu o
valoare strict mai mare dect x; n caz contrar sunt eliminate toate
elementele care nu ndeplinesc aceast condiie i apoi se adaug
valoarea x.
Exemplu: pentru stiva din fig.1, adugarea elementului 11 este
precedat de eliminarea elementelor ce conin valorile 2 i 10.
Dup adugare, stiva va avea coninutul din fig.2.
Dac stiva este iniial vid, care este numrul elementelor aflate
n aceast stiv dup adugarea, respectnd condiiile de mai sus,
n ordine, a numerelor 20, 5, 16, 9, 3, 7, 5, 4, 8 ? (6p.)

26.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (2n9) i elementele
unui tablou bidimensional A cu n linii i n coloane, care memoreaz numere naturale mai mici dect
10, i afieaz pe ecran pentru fiecare coloan, produsul elementelor de pe acea coloan. Valorile
afiate vor fi separate prin cte un spaiu. 1 1 2 3
Exemplu: pentru matricea din figura alturat se afieaz, nu neaprat n 9 2 5 4
aceast ordine, valorile 0 24 20 12 (10p.) 8 6 1 1
0 2 2 1
27.1. Care este numrul arcelor ce au ca extremitate iniial vrful
4, n graful orientat cu 4 vrfuri, numerotate de la 1 la 4,
reprezentat prin matricea de adiacen alturat? (4p.)
a. 3 b. 2 c. 1 d. 0
0 1 0 1
0 0 0 0
0 1 0 0
1 1 1 0
27.2. Care este numrul nodurilor de tip frunz din arborele cu rdcin, cu 8 noduri, numerotate de la
1 la 8, reprezentat prin vectorul de tai (2,0,6,2,4,4,5,5)? (6p.)
a. 3 b. 4 c. 5 d. 2
27.3. n declararea alturat, cmpurile x i y ale nregistrrii reprezint
numrtorul, respectiv numitorul unei fracii de forma
y
x
.
Scriei instruciunile prin executarea crora se memoreaz n variabila H
fracia obinut prin adunarea fraciilor reinute n F i G. (6p.)
struct fractie
{
int x,y;
} F,G,H;


15


27.4. Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele 1,2,3,4,5,6
1 2 3 4 5 6
Dac se noteaz cu AD(x) operaia prin care se adaug un element cu informaia x n coad i
cu EL() operaia prin care se elimin un element din coad, care este elementul aflat n mijlocul cozii i
care este suma elementelor aflate n coad dup executarea secvenei de operaii: EL(); AD(7);
AD(8); EL(); EL(); (4p.)
27.5. Scriei un program C/C++ care citete de la tastatur un numr
natural n (2<n<=10) i construiete n memorie o matrice A cu n linii i n
coloane n care toate elementele de pe prima linie, prima i ultima coloan
au valoarea 1 i oricare alt element Aij din matrice este egal cu suma a 3
elemente situate pe linia i-1: primul aflat pe coloana j-1, al doilea pe
coloana j, iar al treilea pe coloana j+1, ca n exemplu. Matricea va fi afiat
pe ecran, linie cu linie, numerele de pe aceeai linie fiind separate prin cte
un spaiu. Exemplu: pentru n=5 , se afieaz matricea alturat. (10p.)

28.1. Care este numrul minim de muchii ce pot fi eliminate din graful
alturat astfel nct n graful parial rezultat s existe exact un vrf de
grad 0? (6p.)
a. 1 b. 3 c. 2 d. 5


28.2. ntr-un arbore cu rdcin fiecare nod neterminal are exact 2 descendeni direci (fii). Care este
numrul de noduri din arbore dac acesta are 8 frunze? (4p.)
a. 8 b. 7 c. 15 d. 10
28.3. ntr-un tablou bidimensional A cu n linii i n coloane, numerotate de la 1 la n, notm cu Aij
elementul aflat pe linia i i coloana j (1in, 1jn). Care este valoarea expresiei j-i dac
elementul Aij este situat pe diagonala principal a tabloului A? (4p.)
28.4. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele
1,2,3,4,5,6 (ca n imaginea alturat).
Dac se noteaz cu PUSH x operaia prin care se adaug un element cu informaia x
n stiv i cu POP operaia prin care se elimin un element din stiv, care este
elementul aflat n mijlocul stivei i care este suma elementelor aflate n stiv dup
executarea secvenei de operaii: POP; PUSH 7; PUSH 8; POP; POP; ? (6p.)


28.5. irul de caractere s2 este clona irului de caractere s1 dac se poate obine din s1 prin
eliminarea tuturor apariiilor unei singure vocale. Se consider vocal orice liter din mulimea
{a,e,i,o,u}. Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 20
litere mici ale alfabetului englez i afieaz pe ecran, toate clonele acestui cuvnt, fiecare pe cte
o linie a ecranului. Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n aceast
ordine, clonele scrise alturat. (10p.) nformatca
infrmatica
informtic
29.1. Care este numrul maxim de noduri de grad 3 ntr-un graf neorientat cu 5 noduri? (4p.)
a. 4 b. 5 c. 3 d. 2
29.2. Care dintre noduri trebuie ales ca rdcin n arborele din figura
alturat astfel nct s existe un nod cu 3 descendeni direci (fii)? (6p.)
a. 2 b. 3 c. 6 d. 4


29.3. Care va fi irul de caractere afiat pe ecran dup executarea secvenei
alturate, n care variabila s memoreaz un ir cu cel mult 4 caractere, iar
variabila t un caracter? (4p.)

char s[]=arac;
t=s[1];
s[1]=s[3];
s[3]=t;
cout<<s; |

16

printf(%s,s);


29.4. Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele
1,2,3,4,5,6,7,8,9,10:
1 2 3 4 5 6 7 8 9 10

Dac se noteaz cu AD(x) operaia prin care se adaug un element cu informaia x n coad i cu
EL() operaia prin care se elimin un element din coad, care este valoarea memorat n primul
element al cozii dup executarea secvenei de operaii: EL();EL();AD(1); AD(2); EL();EL(); ?
(6p.)
29.5. Scriei un program C/C++ care citete de la tastatur un numr
natural n (1n6) i elementele unui tablou bidimensional A cu n linii
i n coloane, care memoreaz numere naturale nenule mai mici dect 100,
i afieaz pe ecran produsul numerelor pivot pentru matricea A.
Un numr natural x este pivot pentru matricea A dac nmulind fiecare
element de pe prima coloan cu numrul x, se obin, n aceeai ordine,
elementele unei alte coloane din matrice.
Exemplu: pentru matricea din figura alturat se afieaz 8. (10p.)

30.1. Care este numrul nodurilor de grad 1 n graful din figura alturat ?
(6p.)
a. 0 b. 1 c. 2 d. 3


30.2. Care este valoarea expresiei strlen(s) pentru variabila s de tip ir de caractere, declarat
i iniializat astfel: char s[15]=Proba_E; (4p.)
a. 7 b. 15 c. 6 d. 5
30.3. Care sunt nodurile de tip frunz din arborele alturat dac se alege
ca rdcin nodul 6? (6p.)



30.4. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele
1,2,3,4,5,6,7,8,9,10 (ca n imaginea alturat).
Dac se noteaz cu AD(x) operaia prin care se adaug un element cu informaia
x n stiv i cu EL() operaia prin care se elimin un element din stiv, care este
elementul aflat n vrful stivei dup executarea secvenei de operaii:
EL();EL();AD(11); AD(12); EL();EL(); ? (4p.)



30.5. Scriei un program C/C++ care citete de la tastatur un numr natural n
(2<n<=15) i construiete n memorie o matrice A cu n linii i n coloane n
care orice element aflat pe prima linie sau pe prima coloan are valoarea 1 i
oricare alt element Aij din matrice este egal cu suma a dou elemente din
matrice, primul aflat pe linia i i pe coloana j-1 iar cel de-al doilea pe coloana
j i pe linia i-1. Matricea va fi afiat pe ecran, linie cu linie, numerele de pe
aceeai linie fiind separate prin cte un spaiu.
Exemplu: pentru n=4 , se obine matricea alturat. (10p.)

31.1. Se consider graful neorientat cu 7 noduri, numerotate de la 1 la 7, i muchiile[1,3], [2,3],
[3,4], [3,5], [5,4], [1,2], [2,5], [2,4], [6,7], [3,6]. Gradul nodului 5 este : (4p.)
a. 0 b. 1 c. 3 d. 4
31.2. Un arbore cu 11 noduri, numerotate de la 1 la 11, este memorat cu ajutorul vectorului de tai
t=(2,5,5,3,0,2,4,6,6,2,3). Mulimea tuturor ascendenilor nodului 8 este: (4p.)
a. {1, 2, 5, 6, 10} b. {6, 2, 5} c. {6} d. {5, 2}

17

31.3. Scriei definiia corect a unui tip de date necesar pentru a memora simultan, ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui autoturism: marca (cuvnt de maximum 20
caractere) i anul fabricaiei (numr natural), astfel nct expresia C/C++ de mai jos s aib ca valoare
vechimea mainii ale crei caracteristici sunt memorate n variabila x.
2008-x.anul_fabricatiei (6p.)
31.4. ntr-o structur static de date de tip stiv au fost introduse, n aceas
ordine, numerele ntregi, 11, 6, 2, 28, 67, ca n desenul alturat. Reprezentai
coninutul stivei prin cte un desen similar cu cel alturat, dup fiecare dintre
urmtoarele operaii, realizate n exact aceast ordine:
- extragerea a 3 elemente din stiv ;- adugarea valorii 100, apoi a valorii 200(p.)


31.5. Scriei un program C/C++ care construiete n memorie o matrice cu 10 linii i 7 coloane ale
crei elemente sunt numere ntregi (cu maximum 3 cifre fiecare), citite de la tastatur, i afieaz pe
ecran, suma tuturor elementelor situate pe conturul matricei determinat de prima i ultima linie respectiv
prima i ultima coloan a acestei matrice. (10p.)
32.1.Un graf orientat este memorat cu ajutorul listelor alturate de
adiacen. Suma elementelor de pe ultima linie a matricei de
adiacen asociat grafului este egal cu: (4p.)
a. 3 b. 0 c. 1 d. 5
1:(5,6); 4:(1,2);
2:(1,5); 5:(2);
3:(1,5); 6:(2, 4, 5);
32.2. Graful neorientat cu 8 noduri, numerotate de la 1 la 8, este
reprezentat cu ajutorul matricei de adiacen alturate. Numrul
minim de muchii ce trebuie adugate pentru ca graful s devin
conex este egal cu: (4p.)

a. 2 b. 1 c. 0 d. 3

32.3. ntr-o structur de date de tip coad au fost adugate n ordine urmtoarele valori: 3, 10, 2, 8
i 6. Care este ultima valoare care s-a extras din coad dac s-au efectuat, n ordine, urmtoarele
operaii: extragerea unui element, adugarea valorii 100, extragerea a trei elemente. (6p.)
32.4. n secvena alturat, variabilele i, j sunt de tip ntreg, iar variabila a
memoreaz o matrice n care prima linie i prima coloan sunt numerotate
cu 1. Toate elementele matricei primesc valori n urma executrii secvenei.
Scriei n ordine, ncepnd cu prima coloan, elementele situate pe fiecare
linie a matricei care se va construi n urma executrii secvenei alturate de
program (6p.)
for(j=1;j<=5;j++)
for(i=1;i<=3;i++)
a[i][j]=10-j;
32.5. Scriei un program C/C++ care citete de la tastatur dou caractere c1 i c2 i un text avnd
cel mult 250 caractere (spaii i litere ale alfabetului englez), pe care l modific nlocuind toate apariiile
caracterului memorat n c1 cu cel memorat n c2 i toate apariiile caracterului memorat n c2 cu cel
memorat n c1. Programul afieaz pe linii separate ale ecranului att textul iniial ct i textul obinut
dup efectuarea nlocuirilor. (10p.)
Exemplu: dac pentru c1 se citete a, pentru c2 se citete o iar textul citit este:
hocus pocus preparatus
se va afia : hocus pocus preparatus
hacus pacus preporotus
33.1. Se consider graful neorientat cu 6 noduri, definit cu ajutorul
listelor de adiacen alturate. n acest graf, suma gradelor tuturor
nodurilor este: (4p.) a. 14 b. 6 c. 28 d. 10
1: 4,5,6 4: 1,2,3
2: 3,4 5: 1,6
3: 2,4 6: 1,5
33.2. Un arbore cu rdcin are nodurile numerotate de la 1 la 18 i este reprezentat prin vectorul de
tai t:(8,8,0,3,4,3,4,7,1,2,3,3,7,8,3,5,6,8). Numrul tuturor descendenilor nodului 3 este
egal cu: (4p.) a. 3 b. 6 c. 17 d. 18
33.3. Scriei definiia corect a unui tip de date necesar pentru a memora simultan ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui cerc: abscisa i ordonata centrului cercului
(numere ntregi) i raza acestuia (numr real), astfel nct expresia C/C++ de mai jos s calculeze
diametrul cercului ale crui caracteristici sunt memorate n variabila x.
2*x.raza (6p.)

18

33.4. n secvena alturat, variabilele i, j i x sunt de tip ntreg, iar
variabila a memoreaz o matrice n care prima linie i prima coloan
sunt numerotate cu 1. Toate elementele matricei primesc valori n urma
executrii secvenei. Scriei n ordine, ncepnd cu prima coloan,
elementele situate pe fiecare linie a matricei care se va construi n urma
executrii secvenei alturate. (6p.)
x=2;
for(j=1;j<=5;j++)
for(i=1;i<=3;i++)
{a[j][i]=x;
x=x+1;
}
33.5. Scriei un program C/C++ care citete de la tastatur o fraz de maximum 255 de caractere
(litere mari ale alfabetului englez i spaii), ale crei cuvinte sunt desprite prin cte un spaiu i
afieaz pe primul rnd al ecranului numrul total al cuvintelor din fraz, iar pe rndul urmtor de ecran,
n ordine alfabetic, scrise o singur dat, consoanele care au aprut n fraz (consoane sunt toate
literele alfabetului englez, mai puin A, E, I, O, U). Literele afiate sunt separate prin cte un spaiu.
Exemplu: dac se citete fraza LA BACALAUREAT SUBIECTELE AU FOST USOARE
se va afia:
6
B C F L R S T (10p.)
34.1. Graful neorientat cu 60 de noduri, numerotate de la 1 la 60, are numai muchiile [1,60],
[60,20], [2,30] i [4,30]. Numrul componentelor conexe ale grafului este egal cu: (4p.)
a. 3 b. 56 c. 54 d. 0
34.2. Care dintre vectorii urmtori poate fi vectorul de tai ai unui arbore cu rdcin avnd 10 noduri,
numerotate de la 1 la 10? (4p.)
a. (0,1,2,3,4,5,0,7,8,9) b. (1,2,3,4,5,7,6,8,9,0)
c. (10,10,10,10,10,10,10,10,10,0) d. (9,8,7,6,5,4,3,2,1,0)
34.3. ntr-o list alocat static, de tip coad, sunt memorate n ordine, urmtoarele valori: 2, 3, 4:
2 3 4
Reprezentai coada ca n modelul de mai sus, dup fiecare dintre urmtoarele operaii, care se
realizeaz n aceast ordine: - extragerea a dou elemente
- adugarea valorii 100
- adugarea valorii 200. (6p.)
34.4. Ce se va afia n urma executrii secvenei
alturate, n care variabila c memoreaz un ir cu
cel mult 20 de caractere, iar i este o variabil de
tip ntreg? (6p.)
char c[21]="tastatura";
for(i=0;i<strlen(c)/2;i=i+1)
cout<<c[i+1];|printf(%c,c[i+1]);
34.5. Scriei programul C/C++ care citete de la tastatur un numr natural n (n<=20), construiete n
memorie i afieaz pe ecran, matricea cu n linii i n coloane, n care se vor memora n ordinea strict
cresctoare a valorii, pe linii i coloane, primele n
2
numere naturale nenule, pare, care nu sunt divizibile
cu 3. Fiecare linie a matricei se va afia pe cte o linie a ecranului, cu elementele de pe aceeai linie
separate prin cte un spaiu. 2 4 8 10
Exemplu: pentru n=4 se va construi i afia matricea alturat. (10p.) 14 16 20 22
26 28 32 34
38 40 44 46
35.1. Se consider graful neorientat G=(X,U) X={1,2,3,4,5,6,7,8} U={[1,2], [2,3], [2,4],
[2,6], [4,7], [1,5], [5,6], [6,8], [7,8]}. Pentru a trasforma graful ntr-un arbore, putem
elimina: (4p.) a. muchiile [1,5] i [1,2] b. muchia [5,6]
c. nodul 3 d. muchiile [2,6] i [4,7]
35.2. Se consider definiia alturat. Care dintre urmtoarele
construcii este o declarare corect pentru un tablou cu 10
elemente de tip elev? (4p.)

struct elev{
char nume[30];
float nota;
};
a. struct elev[10]; b. struct x elev[10];
c. x elev[10]; d. struct elev x[10];
35.3. Ce se va afia n urma executrii secvenei
alturate, n care variabila c memoreaz un
ir cu cel mult 20 de caractere, iar variabila i
este de tip ntreg? (6p.)
char c[ ]="tamara";
cout<<strlen(c)<<endl;
| printf("%d\n",strlen(c));
for(i=3;i>=0;i--)
cout<<c[i]; | printf("%c",c[i])

19


35.4. Un graf neorientat cu 10 noduri, numerotate de la
1 la 10, este reprezentat cu ajutorul listelor de
adiacen alturate. Cte componente conexe are
graful i care este numrul minim de muchii ce trebuie
adugate pentru ca graful s fie conex? (6p.)
1:3,5 6:-
2:4 7:10
3:1,5 8:4
4:2,8 9:-
5:1,3 10:7
35.5.Scriei programul C/C++ care citete de la tastatur un numr natural n (ns50) i construiete n
memorie o matrice cu n linii i n coloane, ale crei elemente sunt numere ntregi citite de la tastatur.
Pentru fiecare coloan a matricei, n ordine, programul afieaz pe ecran cel mai mic numr de pe
respectiva coloan. Numerele afiate vor fi separate prin cte un spaiu. 122 103 5 10
Exemplu: pentru n=4 i matricea alturat, se vor afia pe ecran -7 18 -10 2
valorile: -7 18 -10 2. (10p.) 107 999 59 4
1 200 100 7
36.1. tiind c n urma executrii secvenei alturate s-a afiat
succesiunea de caractere EXAMEN, care este irul de caractere
memorat de variabila s? (4p.)
a. EAENMX b. ENXEAM c. NEEXMA d. NEMAXE
x=strlen(s);
for (i=0;i<x/2;i++)
cout<<s[i]<<s[x-i-1];
|printf(%c%c,s[i],s[x-i-1]);
36.2. Se consider o coad, n care au fost introduse iniial, n aceast ordine, dou numere 2 i 1.
Coninutul cozii este reprezentat n figura alturat. Notm cu AD X operaia prin care se adaug
informaia X n coad i cu EL operaia prin care se elimin un element din coad. Asupra cozii se
efectueaz, exact n aceast ordine, operaiile AD 5; EL; AD 4; EL; AD 7. Care este coninutul cozii dup
executarea operaiilor de mai sus? (4p.)
a. 1 5 4 b. 5 4 7 c. 7 4 5 d. 2 1 5
36.3. Se consider un graf neorientat cu 7 noduri numerotate de la 1 la 7 i muchiile [1,2], [1,3],
[2,3],[2,4],[2,5],[2,6],[4,6],[5,7],[6,7]. Care este numrul minim de muchii care trebuie
eliminate astfel nct graful parial rezultat s conin 3 componente conexe? Care sunt aceste muchii? (6p.)
36.4. Cte muchii trebuie eliminate dintr-un graf neorientat complet cu 20 de noduri, pentru ca graful
parial obinut s fie arbore? (6p.)
36.5. Se consider o matrice cu n linii i m coloane (1sns30, 1sms30), ce
memoreaz numere ntregi de cel mult 4 cifre fiecare. Scriei un program C/C++
care citete de la tastatur valorile n, m i elementele matricei i care afieaz pe
ecran, separate prin cte un spaiu, valorile minime de pe fiecare coloan, n ordine
de la ultima la prima coloan. Exemplu: pentru n=4, m=4 i matricea alturat se
vor afia pe ecran valorile 3 7 2 3. (10p.)

3 4 90 10
25 2 7 9
18 3 10 4
3 7 20 3

37.1. Fie declarrile alturate. Dac variabila x
reine informaii despre un elev, precizai
care este varianta corect ce afieaz prima
liter din numele acestuia? (4p.)

struct elev{
char nume[30];
float nota;};
elev x;

a. cout<<x; | printf(%c,x); b. cout<<x.nume[0]; | printf(%c,x.nume[0]);
c. cout<<x.nume; | printf(%c,x.nume); d. cout<<nume; | printf(%c,nume);
37.2. Se consider o coad, n care au fost introduse iniial, n aceast ordine, dou numere 2 i 1.
Coninutul cozii este reprezentat n figura alturat. Notm cu AD X operaia prin care se
adaug informaia X n coad i cu EL operaia prin care se elimin un element din coad. Asupra cozii
se efectueaz, exact n aceast ordine, operaiile AD 5; EL; AD 4; EL; AD 7; EL; EL. Care este
coninutul cozii dup executarea operaiilor de mai sus? (4p.)
a. 7 b. 4 7 c. 4 d. 5
1 2
1 2

20

37.3. Se consider un graf orientat cu 5 vrfuri reprezentat
n figura alturat.
a) Care este matricea de adiacen corespunztoare
grafului? (6p.)
b) Scriei vrfurile care au gradul intern maxim. (6p.)


37.4. Un ir cu maximum 255 de caractere conine cuvinte separate prin unul sau mai multe spaii.
Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program Pascal care
citete un astfel de ir i l afieaz modificat, prima i ultima liter a fiecrui cuvnt fiind afiat ca liter
mare. Exemplu: pentru irul: maine este proba la informatica se va afia:
MainE EstE ProbA LA InformaticA (10p.)
38.1. Se consider o coad, n care au fost introduse iniial, n aceast ordine, dou numere 2 i 1.
Coninutul cozii este reprezentat n figura alturat. Notm cu AD X operaia prin care se
adaug informaia X n coad i cu EL operaia prin care se elimin un element din coad. Asupra cozii
se efectueaz, exact n aceast ordine, operaiile AD 5; EL; AD 4; EL; EL; AD 8; AD 9; EL. Care este
coninutul cozii dup executarea operaiilor de mai sus? (4p.)
a. 8 9 b. 8 c. 9 d. 4 8 9
38.2. Considerm c variabila s memoreaz irul de
caractere examen. Care va fi valoarea lui s dup
executarea instruciunilor scrise alturat? (4p.)
a. ExNMeA b. exAMen c. ExAMeN d. ExameN
s[0]= E;
s[strlen(s)-1]= A;
s[strlen(s)/2-1]= N;
s[strlen(s)/2]= M;
38.3.Se consider un graf neorientat cu 7 noduri, numerotate de la 1 la 7 i muchiile [1,5], [2,3],
[2,4], [2,5], [3,4], [4,5], [4,7], [5,6], [5,7].
a) Cte cicluri elementare distincte exist n graf? Dou cicluri sunt distincte dac difer prin cel puin o
muchie. (3p.)
b) Care este lungimea maxim a unui ciclu elementar din acest graf? (3p.)
c) Care este numrul minim de muchii care trebuie eliminate astfel nct graful parial obinut s aib 3
componente conexe? (6p.)

38.4. Se consider o matrice ptratic cu n linii i n coloane (1sns30), ce
memoreaz numere ntregi nenule de cel mult dou cifre fiecare. Scriei un
program C/C++ care citete de la tastatur valoarea n i elementele matricei
i care afieaz pe ecran ultima cifr a produsului acelor elemente de pe
diagonala secundar care au proprietatea c sunt valori minime pe coloanele
lor. Dac nu exist astfel de elemente n matrice, se va afia mesajul NU
EXISTA. Exemplu: pentru n=4 i matricea alturat se va afia pe ecran
valoarea 1 (3*7=21). (10p.)

39.1. Stabilii care dintre urmtorii vectori este vector de tai pentru
arborele cu 7 noduri, numerotate de la 1 la 7, cu rdcina 1, reprezentat prin
matricea de adiacen alturat: (4p.)

a. (3, 1, 0, 2, 1, 5, 6) b. (1, 0, 2, 2, 1, 5, 5)
c. (0, 1, 2, 2, 1, 5, 5) d. (2, 1, 0, 2, 1, 5, 2)

0 1 0 0 1 0 0
1 0 1 1 0 0 0
0 1 0 0 0 0 0
0 1 0 0 0 0 0
1 0 0 0 0 1 1
0 0 0 0 1 0 0
0 0 0 0 1 0 0
39.2. Un graf neorientat cu 7 noduri, numerotate de la 1 la 7 are muchiile [1,5], [2,3], [2,4],
[2,5], [3,4], [4,5], [4,7], [5,6], [5,7]. Cte cicluri elementare distincte exist n graf? Dou
cicluri sunt distincte dac difer prin cel puin o muchie. (4p.)
a. 7 b. 4 c. 5 d. 6
39.3. Se consider un graf neorientat cu 7 noduri, numerotate de la 1 la 7, i muchiile [1,5], [1,6],
[2,6], [3,4], [3,6], [4,6]. Dac se elimin nodul 6 i toate muchiile incidente cu acesta cte
componente conexe va avea subgraful rezultat ? (6p.)
1 2

21

39.4. Considerm declaraiile:
int i,j,a[10][10];
Ce se va afia dup executarea
secvenei de instruciuni alturate?
(6p.)

for(i=1;i<=3;i++)
for(j=1;j<=3;j++) a[i][j]=i+j;
for(i=1;i<=3;i++)
{ for(j=1;j<=3;j++)
cout<<a[i][j]; | printf(%d,a[i][j]);
cout<<endl; | printf(\n); }
39.5. Un ir cu maximum 255 de caractere conine cuvinte separate prin cte un spaiu. Cuvintele
sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete de la
tastatur un astfel de ir i l afieaz pe ecran modificat, inversnd prin oglindire doar cuvintele care
ncep cu vocal, ca n exemplu. Se consider vocale literele din mulimea {a, e, i, o, u}.
Exemplu: pentru irul: maine este proba la informatica se va afia:
maine etse proba la acitamrofni (10p.)
40.1. Se consider vectorul de tai" al unui arbore cu rdcin t=(3,4,0,3,3,5) ale crui noduri
sunt numerotate de la 1 la 6. Alegei afirmatia corect: (4p.)
a. nodurile 1, 2, 6 sunt noduri de tip frunz b. nodul 3 are un singur descendent direct (fiu)
c. nodul 6 este tatl nodului 5 d. nodurile 4 i 6 sunt noduri de tip frunz
40.2. Se consider o coad, n care au fost introduse iniial, n aceast ordine, dou numere: 2 i 1.
Coninutul cozii este reprezentat n figura alturat. Notm cu AD X operaia prin care se
adaug informaia X n coad i cu EL operaia prin care se elimin un element din coad. Asupra cozii
se efectueaz, exact n aceast ordine, operaiile AD 10; AD 15; EL; AD 4; EL; AD 20; EL. Care este
coninutul cozii dup executarea operaiilor de mai sus? (4p.)
a. 20 b. 15 4 c. 4 20 d. 15 4 20
40.3. Se consider un graf neorientat cu 8 noduri numerotate de la 1 la 8 i muchiile [1,5], [1,6],
[2,6], [3,4], [3,6], [3,7], [4,6], [6,8], [7,8]. Dac se elimin nodul 6 i toate muchiile
incidente cu acesta cte componente conexe va avea subgraful rezultat?(6p.)
40.4. Considerm declarrile:
int i,j,a[10][10];
Ce se va afia dup executarea
secvenei de instruciuni alturate?
(6p.)

for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
if(i<j)a[i][j]=i;
else a[i][j]=j;
for(i=1;i<=3;i++){
for(j=1;j<=3;j++)
cout<<a[i][j];|printf(%d,a[i][j]);
cout<<endl;|printf(\n);}

40.5. Un ir cu maximum 255 de caractere conine cuvinte formate numai din litere mici ale alfabetului
englez. Fiecare cuvant este urmat de un caracter *. Scriei un program C/C++ care citete un astfel de
ir i afieaz pe ecran irul obinut prin eliminarea tuturor apariiilor primului cuvnt, ca n exemplu.
Exemplu: pentru irul: bine*albine*foarte*bine* se va afia: *albine*foarte** (10p.)
41.1. Cte dintre vrfurile grafului neorientat G, reprezentat
prin matricea de adiacen alturat, au gradul un numr
par? (4p.)

a. 3 b. 1 c. 2 d. 5
0 1 0 0 1
1 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
41.2. ntr-o stiv iniial vid au fost executate urmtoarele operaii: push 3; push 7; pop; push 5;
push 1;unde push a reprezint operaia prin care valoarea a se adaug n stiv, iar pop reprezint
operaia prin care se extrage un element din stiv. Care este elementul situat n vrful stivei? (4p.)
a. 1 b. 5 c. 7 d. 3
41.3. Pentru reprezentarea unui arbore cu radacin cu 10 noduri, etichetate cu numere naturale de la 1
la 10, se utilizeaz vectorul de tai: TATA=(4, 8, 8, 0, 10, 4, 8, 6, 2, 6). Care sunt frunzele
arborelui? (6p.)
41.4. Ce se afieaz pe ecran n urma executrii
secvenei de program alturate tiind c
variabila i este de tip char? (6p.)
for (i='a';i<='z';i++)
if (i<'d')
cout<<i; | printf("%c",i);
1 2

22

41.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1n23) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, astfel nct fiecare
element situat pe o linie i (1in) i pe o coloan j (1jn) va fi egal cu suma dintre i i j.
Programul va afia matricea pe ecran, cte o linie a matricei pe cte o linie a 2 3 4 5
ecranului, elementele de pe aceeai linie fiind separate prin cte un spaiu. 3 4 5 6
Exemplu: dac n=4, se va afia matricea alturat. (10p.) 4 5 6 7
5 6 7 8
42.1. Cte dintre vrfurile grafului neorientat G, reprezentat
prin matricea de adiacen alturat, au gradul 0? (4p.)

a. 2 b. 1 c. 3 d. 0
0 0 0 1 1
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
1 0 0 0 0
42.2. ntr-o coad iniial vid au fost executate urmtoarele operaii: add 1; add 2; out; add 3;
add 4; unde add x reprezint operaia prin care x se adaug n coad, iar out reprezint
operaia prin care se extrage un element din coad. Ce valoare are elementul care a fost extras din
coad? (4p.) a. 3 b. 2 c. 1 d. 4
42.3. Pentru reprezentarea unui arbore cu radacin cu 9 noduri, etichetate cu numere naturale de la 1
la 9, se utilizeaz vectorul de tai: T=(5,0,2,7,3,3,2,4,7).
a) Care este lungimea maxim a unui lan elementar care leag dou noduri oarecare din acest arbore?
b) Care sunt extremitile acestui lan? (3p.)
42.4. Variabila a memoreaz un tablou bidimensional cu 5
linii si 5 coloane, numerotate de la 1 la 5, ale crui elemente sunt
numere ntregi. Care este cel mai mare element situat pe diagonala
principal a tabloului construit n urma executrii secvenei de
program alturate ? (6p.)
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
a[i][j]=j;

42.5. Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere, format
doar din litere mici ale alfabetului englez, i care afieaz pe ecran, pe o singur linie, toate vocalele ce
apar n irul citit. Vocalele vor fi afiate n ordinea apariiei lor n ir, separate prin cte un spaiu, ca n
exemplu. Se consider ca fiind vocale urmtoarele litere: a, e, i, o, u. Dac irul citit nu conine
nicio vocal, se va afia pe ecran mesajul fara vocale.
43.1. Un graf neorientat este reprezentat prin matricea de adiacen
alturat. Cte grafuri pariale distincte, formate doar din noduri cu
gradul egal cu 2, se pot obine din graful dat? Dou grafuri sunt
distincte dac matricele lor de adiacen difer. (4p.)
a. 3 b. 1 c. 2 d. 0
0 1 0 0 1
1 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
43.2. ntr-o coad iniial vid au fost executate urmtoarele operaii: add 1; add 2; out; add 3;
add 4; out; unde add x reprezint operaia prin care valoarea x se adaug n coad, iar out
reprezint operaia prin care se extrage un element din coad. Cte elemente conine coada dup
efectuarea operaiilor de mai sus? (4p.)
a. 1 b. 2 c. 0 d. 3
43.3. Pentru reprezentarea unui arbore cu radacin cu 10 noduri, etichetate cu numere naturale
de la 1 la 10, se utilizeaz vectorul de tai: TATA=(4, 8, 8, 0, 10, 4, 8, 6, 2, 6).
Care este radcina arborelui i cte frunze are acesta? (6p.)
43.4. Ce se afieaz n urma executrii secvenei de
program alturate, tiind c variabilele a i b pot
memora cte un ir de cel mult 12 caractere? (6p.)

strcpy(a,"informatica");
strcpy(b,a);
cout<<strlen(b);
| printf("%d",strlen(b));
43.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane astfel nct elementele situate pe diagonala
principal sa fie egale cu 2, cele situate deasupra diagonalei principale s fie egale cu 1, iar cele situate
sub diagonala principal s fie egale cu 3. Programul va afia matricea pe ecran, cte o linie a matricei
pe o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii. 2 1 1 1
Exemplu: dac n este 4 atunci programul va construi i va afia 3 2 1 1
matricea alturat: (10p.) 3 3 2 1
3 3 3 2

23

44.1. Graful orientat G este reprezentat prin matricea de adiacen
alturat. Cte vrfuri din graful dat au gradul interior egal cu gradul
exterior? (4p.)
a. 0 b. 1 c. 3 d. 2

0 1 0 0 1
1 0 1 0 0
0 0 0 1 1
0 1 0 0 1
1 0 0 0 0
44.2. ntr-o stiv iniial vid au fost executate urmtoarele operaii: push 1; pop; push 2; pop;
push 3; push 4; pop; push 5; unde push x reprezint operaia prin care x se introduce n
stiv, iar pop reprezint operaia prin care se extrage un element din stiv. Cte elemente conine stiva
dupa efectuarea operaiilor de mai sus? (4p.)
a. 3 b. 8 c. 3 d. 2
44.3. Pentru reprezentarea unui arbore cu radacin cu 9 noduri, etichetate cu numere naturale de la 1
la 9, se utilizeaz vectorul de tai: T=(7,0,2,7,6,2,3,6,5). Care sunt nodurile arborelui ce au
exact 2 descendeni direci (fii)? (6p.)
44.4. Ce valoare se va afia pe ecran n urma
executrii secvenei de program alturate, tiind
c a este o variabil care memoreaz un ir de
caractere, iar i este o variabil de tip ntreg?(6p.)
strcpy(a,"info");
for(i=2;i<strlen(a);i++)
cout<<a[i]; | printf("%c",a[i]);

44.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii si n coloane, format din numere naturale nenule mai mici
sau egale cu n, astfel nct s nu existe dou linii cu aceeai sum a elementelor i nici dou coloane
cu aceeai sum a elementelor. Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a
ecranului, cu un spaiu ntre elementele fiecrei linii. 1 1 1
Exemplu: dac n=3 atunci o soluie posibil este urmtoarea matrice: 1 1 2
1 2 3 (10p.)
45.1. Graful neorientat G este dat prin matricea de adiacen
alturat. Cte vrfuri ale grafului G au gradul 1? (4p.)

a. 1 b. 2 c. 3 d. 0

0 0 0 0 1
0 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
45.2. ntr-o stiv iniial vid au fost executate urmtoarele operaii: push 1; pop; push 2; push 4;
pop; push 5; unde push x reprezint operaia ce introduce valoarea x n stiv, iar pop reprezint
operaia prin care se extrage un element din stiv. Care este suma valorilor coninute de stiv dup
efectuarea operaiilor de mai sus? (4p.)
a. 9 b. 7 c. 5 d. 6
45.3. Pentru reprezentarea unui arbore cu rdcin cu 9 noduri, etichetate cu numere naturale de la 1
la 9, se utilizeaz vectorul de tai: T=(2,0,1,7,3,1,2,4,1). Care sunt descendenii direci (fiii) ai
rdcinii i cte frunze are arborele dat? (6p.)
45.4. Variabila a memoreaz elementele numere ntregi ale unui
tablou bidimensional cu 3 linii i 3 coloane. Care este suma
elementelor aflate pe diagonala secundar a tabloului construit n
urma executrii secvenei de program alturate ?
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
a[i][j]=j;

45.5. Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere, format
doar din litere ale alfabetului englez, i care afieaz pe ecran toate irurile obinute prin eliminarea
succesiv a cte unei singure litere din irul citit, ca n exemplu. irurile se vor afia cte unul pe cte o
linie a ecranului. Exemplu: dac se citete irul abbc atunci pe ecran se va afia:
bbc
abc abc abb (10p.)
46.1. Care dintre urmtoarele propoziii este fals pentru graful
orientat G dat prin matricea de adiacen alturat? (4p.)
a. exist cel puin un nod n graful G care
are gradul intern egal cu cel extern
b. graful G nu are circuite
0 1 1 0 0
0 0 1 1 0
0 0 0 1 1
1 1 0 0 0
0 0 0 1 0
c. exist cel puin un drum ntre oricare dou noduri ale grafului G
d. graful G are 9 arce

24

46.2. n secvena alturat, variabila v memoreaz
elementele unei matrice cu liniile i coloanele numerotate de
la 1 la n, iar toate celelalte variabile sunt ntregi. Dac
1k<n, atunci executarea secvenei determin: (4p.)
for ( i=k+1; i<=n; i++)
for (j=1; j<=n; j++)
v[i-1][j] = v[i][j];
n=n-1;
a. eliminarea liniei k din matrice b. adugarea liniei k n matrice
c. eliminarea coloanei k din matrice d. adugarea coloanei k n matrice
46.3. Care sunt nodurile de tip frunz ale arborelui cu rdcin, cu 9 noduri, numerotate de la 1 la 9,
al crui vector de tai este (6, 6, 8, 8, 7, 7, 0, 7, 7)? (6p.)
46.4. Notm cu Push(x) operaia prin care se introduce ntr-o stiv valoarea x, iar cu Pop operaia
prin care se extrage un element din stiv.
a) Cte elemente are stiva, iniial vid, dup executarea secvenei urmtoare de instruciuni?
Push(8); Push(2); Push(4); Pop; Push(3); Pop; Pop; (3p.)
b) Care este suma acestor elemente rmase n stiv? (3p.)
46.5. Se consider un text format doar din spaii i litere mici ale alfabetului englez, care ncepe cu o
liter i care conine cel puin o vocal din multimea {a,e,i,o,u}. Scriei programul C/C++ care
citete de la tastatur un ir cu cel mult 100 de caractere, ca cel descris mai sus i care determin
transformarea acestuia prin nlocuirea fiecrei vocale din text cu litera imediat urmtoare din alfabet (a
se nlocuiete cu b, e se nlocuiete cu f .a.m.d.). Programul va afia pe ecran irul obinut.
Exemplu: dac irul citit este examen de bacalaureat, dup modificare se afieaz:
fxbmfn df bbcblbvrfbt (10p.)
47.1. Care dintre urmtorii vectori NU poate reprezenta vectorul de tai al unui arbore cu rdcin, cu 5
noduri, numerotate de la 1 la 5? (4p.)
a. 3 1 0 1 2 b. 2 0 1 1 2 c. 3 4 0 2 3 d. 4 1 1 0 2
47.2. Cele 5 vagoane, din figura alturat, numerotate de la
1 la 5, trebuie mutate de pe linia A pe linia B. Vagoanele
sunt manevrate unul cte unul. Orice vagon poate fi mutat
doar de pe linia A pe linia C sau de pe linia C pe linia B.
Oricare alt manevr nu este posibil. Care dintre irurile de
vagoane de mai jos, citite de la stnga la dreapta, nu poate fi
obinut pe linia B? (4p.)

a. 5 3 4 2 1 b. 4 2 5 3 1 c. 3 2 4 1 5 d. 1 2 3 4 5
47.3. Variabila s reine irul de caractere bacalaureat. Ce se afieaz la executarea
instruciunii de mai jos?
cout<<strchr(s,a); | printf(%s,strchr(s,a)); (6p.)
47.4. n declararea alturat, cmpurile a i b ale nregistrrii reprezint
numrtorul, respectiv numitorul unei fracii. Care este expresia cu care se
pot nlocui punctele de suspensie n secvena de mai jos astfel nct dac
fracia memorat n variabila f se simplific prin numrul natural nenul k
se afieaz mesajul DA?
if ( ) cout<< DA; | printf(DA); (6p.)
struct rap
{ int a, b; } f;
int k;

47.5.Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule m i n
(m10, n10) i cele m*n elemente (numere naturale mai mici dect 100) ale unui tablou bidimensional
cu m linii, numerotate de la 1 la m, i n coloane, numerotate de la 1 la n; programul construiete n
memorie i afieaz pe ecran tabloul dup eliminarea liniilor de rang impar.
Exemplu: pentru m=4 i n=3 i tabloul: 21 22 23
24 25 26 se va afia: 24 25 26
27 28 29 30 31 32
30 31 32 (10p.)



48.1. Pe tija 1 sunt aezate 5 bile, numerotate de la 1
la 5, ca n figur. Bilele trebuie mutate pe tija 3
putndu-se folosi ca manevr tija 2. Variantele de


25

mai jos reprezint aezarea bilelor de la stnga la
dreapta, pe tija 3. tiind c o bil nu poate trece de
pe tija 2 pe tija 3 dect prin tija 1, pentru care dintre
ele s-au folosit cele mai puine mutri? (o mutare
reprezint trecerea de pe o tij pe alta.) (4p.)


a. 1 2 4 5 3 b. 4 2 5 3 1 c. 2 1 4 3 5 d. 1 2 3 4 5
48.2. In secvena alturat, variabilele s1, s2
i s3 rein iruri de caractere. Dup
executarea acesteia, variabila ntreag val
primete valoarea 1 dac (4p.)
if(!(strcmp(s1,s2) || strcmp(s1,s3)))
val=1;
else
val=2;
a. s1, s2, s3 rein iruri identice de caractere
b. s1, s2, s3 rein iruri de caractere ordonate lexicografic
c. s1, s2, s3 rein iruri de caractere de lungimi diferite
d. s1 este obinut prin concatenarea irurilor reinute n s2 i s3
48.3. Care sunt arcele care alctuiesc un drum elementar de
lungime maxim de la nodul 1 la nodul 5 pentru graful
orientat cu ase noduri, numerotate de la 1 la 6, reprezentat
prin matricea de adiacen alturat? (6p.)

0 1 1 1 0 0
0 0 0 0 0 1
0 1 0 1 0 0
0 0 1 0 0 1
0 1 0 0 0 0
0 0 0 0 1 0
48.4. n declararea alturat variabila a reine n cmpurile x
i y coordonatele unui punct n planul xOy. Care este
expresia a crei valoare reprezint distana punctului
respectiv fa de originea axelor de coordonate? (6p.)

struct punct
{
float x,y;
}a;

48.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<10) i care
construiete n memorie i afieaz pe ecran un tablou bidimensional cu n linii i n coloane astfel nct
parcurgndu-l linie cu linie de sus n jos i fiecare linie de la stnga la dreapta se obin primele n2
numere pare nenule n ordine strict cresctoare, ca n exemplu. 2 4 6 8
Exemplu: pentru n=4, se construiete i se afieaz tabloul alturat. (10p.) 10 12 14 16
18 20 22 24
26 28 30 32
49.1. Se consider stiva din desenul alturat. Primul element introdus n stiv este 5. Dac
se noteaz cu pop operaia prin care se extrage un element din stiv i cu push(k)
operaia prin care se introduce valoarea k n stiv, care va fi coninutul ei dup efectuarea
urmtoarelor operaii: pop; pop; push(1); push(4); (4p.)
a. 4 1 1 4 b. 1 4 4 1
c. 1 4 1 4 d. 5 2 1 4

49.2. Fiind dat un tablou bidimensional cu 20 linii i 20 coloane, cte elemente se gsesc strict
deasupra diagonalei secundare a tabloului? (4p.)
a. 180 b. 200 c. 190 d. 210
49.3. Variabila x declarat alturat memoreaz n cmpurile med1 i
med2 mediile semestriale ale unui elev. Scriei o expresie a crei
valoare va fi media anual a acestui elev. (6p.)

struct elev {
int matricol;
float med1,med2;
}x;
49.4. Se consider un graf orientat cu 6 vrfuri numerotate de la 1 la 6, ale crui arce sunt: (2,1),
(3,6),(4,1),(4,3),(4,5),(5,2), (6,4),(1,4). Dou circuite sunt distincte dac ele difer prin cel
puin un arc.
a) Care este numrul total de circuite din acest graf? (3p.)
b) Care este numrul total de circuite elementare din acest graf? (3p.)
49.5. Un cuvnt s, de cel mult 20 caractere, format doar din litere mici ale alfabetului englez, conine cel
puin o consoan. Scriei programul C/C++ care citete de la tastatur cuvntul s, construiete n

26

memorie i afieaz pe ecran cuvntul obinut prin eliminarea tuturor consoanelor din cuvntul s. Se
consider consoan oricare liter care nu se afl n mulimea {a, e, i, o, u}.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: aaauea (10p.)
50.1. Fie graful orientat din figura alturat. Care este numrul de
circuite elementare distincte? Dou circuite elementare sunt
distincte dac difer prin cel puin un arc. (4p.)

a. 0 b. 1 c. 2 d. 3


50.2. Elementele tabloului bidimensional din figura alturat, cu 4 linii
i 4 coloane, sunt toate numerele naturale cuprinse ntre 1 i 16 aezate
n spiral, ncepnd cu primul element al primei linii i continund n sens
invers trigonometric ca n figur. Care este cel mai mare numr situat n
zona triunghiular de sub diagonala secundar (exclusiv diagonala
secundar), n cazul unui tablou bidimensional cu 5 linii i 5 coloane
generat dup aceeai regul? (4p.)
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

a. 16 b. 15 c. 25 d. 22
50.3. Care dintre nodurile arborelui din figura alturat pot fi considerate
ca fiind rdcin astfel nct astfel nct n arborele cu rdcin
rezultat fiecare nod s aib cel mult doi descendeni direci (fii)? (6p.)


50.4. Se consider declararea alturat. Scriei instruciunile prin care n
variabila x vor fi reinute titlul romanului Mara i numrul de 325
de pagini pe care acesta l are. (6p.)
struct carte
{char titlu[20];
int nr_pag;
}x;
50.5. Scriei programul C/C++ care citete de la tastatur un cuvnt s de cel mult 20 litere mici ale
alfabetului englez, construiete n memorie i afieaz pe ecran cuvntul s dup eliminarea primei i a
ultimei vocale. Cuvntul s conine cel puin dou vocale. Se consider vocale literele: a, e, i, o, u.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: bcalauret (10p.)
51.1. Considerm declararea alturat folosit pentru a
memora numele, prenumele i media unui elev. Care dintre
expresiile de mai jos are ca valoare prima liter a numelui
unui elev ale crui informaii sunt memorate n variabila p?
struct elev{
char nume[10],prenume[20];
float medie;
}p;
a. p.nume[1] b. p.nume[0] c. p.nume d. nume[1] (4p.)
51.2. Se consider un graf neorientat cu 5 noduri i 9 muchii. Care dintre urmtoarele iruri de numere
pot fi gradele nodurilor grafului? (4p.)
a. 4, 2, 6, 4, 2 b. 2, 2, 1, 2, 2 c. 1, 1, 1, 1, 1 d. 4, 3, 3, 4, 4
51.3. n secvena alturat, variabila a memoreaz
elementele unui tablou bidimensional cu 4 linii (numerotate
de la 0 la 3) i 4 coloane (numerotate de la 0 la 3), iar
toate celelalte variabile sunt de tip ntreg.
Dup executarea secvenei de instruciuni scris alturat
a) ce valoare va avea elementul a[1][3]? (3p.)
b) care este suma elementelor de pe diagonala principal
a acestui tablou? (3p.)
x=1;
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
{ if (i==j)
a[i][j]=2*x;
else
a[i][j]=x;
x=x+1; }
51.4. Se consider arborele cu rdcin avnd 10 noduri, numerotate de la 1 la 10 dat prin vectorul
Tata=(6, 0, 2, 2, 3, 3, 2, 7, 7, 9). Care este nodul rdcin i care sunt nodurile terminale ale arborelui?
(6p.)
51.5. Scriei un program C/C++ care citete de la tastatur un ir avnd maximum 30 de caractere i
afieaz pe ecran mesajul DA n cazul n care irul conine numai litere i spaii, iar n caz contrar
afiez mesajul NU.
Exemplu: dac se citete de la tastatur irul: Ana, Bogdan au 18 ani.

27

atunci programul va afia mesajul Nu. (10p.)
52.1. Considerm declararea alturat folosit pentru a
memora numele, prenumele i cele 2 note ale unui elev.
Care dintre instruciunile de mai jos calculeaz n variabila
real m media aritmetic a notelor elevului ale crui informaii
sunt memorate n variabila x? (4p.)
struct elev{
char nume[10],prenume[20];
float nota1,nota2;
} x;

a. m=(x.nota1+x.nota2)/2; b. m=(nota1+nota2)/2;
c. x.m=(x.nota1+x.nota2)/2; d. m=(x,nota1+x,nota2)/2;
52.2. Se consider graful neorientat din figura alturat. Care
este numrul minim de muchii ce se pot elimina astfel nct graful
parial obinut s aib exact 3 componente conexe? (4p.)

a. 2 b. 4 c. 1 d. 3

52.3. n secvena alturat, variabila a memoreaz
elementele unui tablou bidimensional cu 4 linii (numerotate
de la 0 la 3) i 4 coloane (numerotate de la 0 la 3), iar
toate celelalte variabile sunt de tip ntreg.
Ce valoare va avea elementul a[3][3] i care este
suma elementelor de pe prima linie a tabloului dup
executarea secvenei de instruciuni scris alturat? (6p.)
x=1;
for (i=0;i<=3;i++)
for (j=0;j<=3;j++)
{ if(i==j) a[i][j]=x;
else a[i][j]=i+1;
x=x+1;
}

52.4. Se consider o stiv n care inial au fost introduse, n aceast ordine, valorile
1, 2, 3 ca n desenul alturat. Operaia prin care se adaug elementul a n stiv s-a
notat cu Push a iar operatia prin care se extrage un element din stiv s-a notat cu Pop.
Reprezentai, dup modelul din figura alturat, coninutul stivei dup fiecare dintre
operaiile care urmeaz: Push 4, Pop, Pop, Push 5. (6p.)

52.5. Scriei un program C/C++ care citete de la tastatur o fraz avnd maximum 100 de caractere,
n care cuvintele sunt separate prin cte un spaiu; programul construiete n memorie i afieaz pe
ecran un ir ce conine doar primul caracter al fiecruia dintre cuvintele frazei, n ordinea n care
acestea apar n fraz, ca n exemplu.
Exemplu: dac se citete fraza Ana sustine bacalaureatul la informatica
atunci se va afia Asbli (10p.)
53.1. n secvena alturat, variabila x memoreaz
un ir cu cel mult 100 de caractere, iar variabila i
este de tip ntreg.
for(i=0;i<=strlen(x)-1;i=i+3)
cout<<x[i]; | printf(%c,x[i]);

Care este numrul maxim de caractere pe care l poate avea irul x astfel nct secvena
alturat s afieze exact 3 caractere ale acestuia? (4p.)
a. 7 b. 3 c. 9 d. 8
53.2. Se consider un graf orientat cu 5 vrfuri i 8 arce. Care dintre urmtoarele iruri de numere pot
fi gradele exterioare ale vrfurilor acestui graf? (4p.)
a. 2, 3, 1, 1, 1 b. 2, 2, 6, 5, 1
c. 1, 0, 1, 1, 1, 1 d. 1, 1, 0, 2, 1
53.3. In secvena de mai jos, variabila a memoreaz elementele unui tablou bidimensional cu 5 linii
(numerotate de la 1 la 5) i 5 coloane (numerotate de la 1 la 5), iar celelalte variabile sunt de tip
ntreg. Ce valoare se va afia n urma executrii secvenei dac se prelucreaz urmtoarea matrice?
x=0;
for (i=1;i<=5;i++)
if(a[i][i]%2!=0)
x=x+a[i][6-i];
cout<<x; | printf(%d,x);
1 2 3 4 2
6 7 8 9 4
1 2 0 4 3
7 2 1 4 5
1 2 3 4 5 (6p.)

28

53.4. Se consider arborele din figura alturat.
Care este vectorul cu legturi de tip tat
pentru acest arbore? Care sunt descendenii
nodului 3?
(6p.)


53.5. Scriei un program C/C++ care citete de la tastatur 4 numere naturale nenule m, n, x i y
(2<m10, 2<n20, 1x10, 1y10) i elementele unui tablou bidimensional a cu m linii, numerotate
de la 1 la m, si n coloane, numerotate de la 1 la n; programul interschimb elementele tabloului
bidimensional de pe linia x cu cele de pe linia y. Tabloul bidimensional astfel obinut se va afia pe
ecran, cte o linie a tabloului pe cte o linie a ecranului, cu un spaiu ntre elementele fiecrei linii.
Exemplu: pentru m=4, n=3, x=1, y=3 i matricea se va afia matricea
(10p.)
54.1. Se consider un graf neorientat complet cu 10 vrfuri. Cte lanuri elementare distincte de
lungime 3 exist ntre vrful 2 i vrful 4? Dou lanuri sunt distincte dac difer prin cel puin o
muchie. (4p.) a. 90 b. 28 c. 45 d. 56
54.2. Se consider graful orientat din figura
alturat. Cte dintre vrfurile grafului au gradul
intern egal cu gradul extern? (4p.)

a. 3 b. 2 c. 1 d. 4


54.3. n secvena alturat, variabila x memoreaz
un ir de caractere, iar toate celelalte variabile sunt
de tip ntreg.
Ce valori au variabilele k1 i k2 dup executarea
secvenei de instruciuni alturate? (6p.)

strcpy(x,bac2008);
k1=strlen(x);
k2=0;
for (i=0;i<strlen(x);i++)
if( x[i]>=0 && x[i]<=9)
k2=k2+1;
54.4. Consideram urmtoarele declarri:
int a[10][10],i,k;
Ce valoare are variabila k dup executarea
secvenei de instruciuni alturate, dac a
memoreaz elementele unui tablou bidimensional
cu 10 linii (numerotate de la 0 la 9) i 10 coloane
(numerotate de la 0 la 9), ce are pe fiecare linie n
ordine cresctoare numerele 1,2,...,10? (6p.)
k=0;
for(i=0;i<=9;i++)
if((1-a[i][i]%3)*(2-a[i][i]%3)==0))
k++;

54.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (3n10) i un
numr natural x, cu exact 2 cifre, i care construiete n memorie un tablou bidimensional cu n linii
(numerotate cu numere de la 1 la n) i n coloane (numerotate cu numere de la 1 la n), ce are
elementele de pe liniile de rang impar egale cu prima cifr a numrului x i elementele de pe liniile de
rang par egale cu ultima cifr a numrului x. Tabloul bidimensional se va afia pe ecran, cte o linie a
tabloului pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: dac se citesc de la tastatur n=4 i x=13 atunci se afieaz tabloul bidimensional alturat.
1 1 1 1 (10p.)
3 3 3 3
1 1 1 1
3 3 3 3
55.1. Considerm declararea alturat. Care dintre
urmtoarele instruciuni este corect din punct de
vedere sintactic? (4p.)
struct punct{
int x,y;
} p;

29

a. p->y=p->y+1; b. p=9; c. p.x=7; d. p=p+1;
55.2. Variabila n memoreaz un numr natural nenul. Care este numrul total de grafuri orientate
distincte care se pot forma cu aceste noduri? Dou grafuri orientate sunt distincte dac matricele lor de
adiacen sunt diferite. (4p.)
a. 4
n*(n-1)/2
b. 3
n*(n-1)/2
c. 4
n*(n-1)
d. 2
n*(n-1)/2

55.3. Considerm urmtoarele declarri:
int i,aux,a[10][10];
Ce valori se afieaz n urma executrii secvenei
alturate dac liniile i coloanele tabloului
bidimensional sunt numerotate de la 0 la 9 i iniial
fiecare linie a tabloului conine, de la stnga la
dreapta, n ordine descresctoare, toate numerele
naturale, de la 10 la 1? (6p.)
for (i=0;i<=8;i++)
if( a[i][9-i]<a[i+1][8-i])
{aux=a[i][9-i];
a[i][9-i]=a[i+1][8-i];
a[i+1][8-i]=aux;}
cout<<a[0][9]<< <<a[9][0];
|printf(%d %d,a[0][9],a[9][0]);

55.4. Se consider o coad n care inial au fost introduse, n aceast ordine,
valorile 1, 2, 3 ca n desenul alturat. Operaia prin care se adaug valoarea a
n coad s-a notat cu ADD a, iar operatia prin care se extrage un element din
coad s-a notat cu EL. Reprezentai coada, ca n modelul alturat, dup fiecare
dintre operaiile: ADD 4, EL, ADD 5. (6p.)


1 2 3
55.5. Scriei un program C/C++ care citete de la tastatur un ir format din maximum 100 caractere,
construiete n memorie i afieaz un nou ir de caractere obinut din irul iniial prin eliminarea tuturor
caracterelor care nu sunt caractere cifr. n cazul n care noul ir are lungimea 0 se va afia mesajul
ir vid. Exemplu: dac se citete de la tastatur irul de caractere Ana are 17 ani .
atunci irul cerut este: 17 (10p.)
56.1. Variabila x este utilizat pentru a memora numele, prenumele i salariul unei persoane. Numele i
prenumele pot avea cel mult 20 de litere fiecare, iar salariul este un numr natural nenul mai mic dect
30000 . Care dintre urmtoarele declarri este corect? (4p.)
a. float x[3][21]; b. int x[3][21];
c. struct persoana{ d. struct persoana[
char nume[21],prenume[21]; char nume[21],prenume[21];
int sal;} x; int sal;] x;
56.2. Dac G este un graf neorientat cu 4 noduri, atunci numrul maxim de muchii pe care le poate
avea graful este: (4p.) a. 5 b. 4 c. 3 d. 6
56.3. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris
prin urmtorul vector de tai: (4,1,6,0,1,1,4,7). Care sunt frunzele arborelui? (6p.)
56.4. Scriei o expresie C/C++ care s fie nenul dac i numai dac variabila c de tip char este
o liter mic a alfabetului englez. (6p.)
56.5.Scriei un program C/C++ care citete de la tastatur dou numere naturale n i k (2<n<25,
0<k<n) i construiete n memorie o matrice cu n linii i n coloane format numai din valori 1 i 2
astfel nct: elementele aflate pe primele k coloane sunt egale cu 1, iar elementele aflate pe ultimele n-
k coloane sunt egale cu 2 ca n exemplul de mai jos. Programul afieaz 1 1 1 2 2
pe ecran matricea construit, fiecare linie a matricei pe o linie a ecranului 1 1 1 2 2
i elementele de pe aceeai linie separate prin cte un singur spaiu. 1 1 1 2 2
Exemplu: pentru n=5, k=3 se construiete n memorie i se 1 1 1 2 2
afieaz matricea alturat. (10p.) 1 1 1 2 2
57.1. Variabila t este utilizat pentru a memora valoarea i numele autorului unei cri. Valoarea
crii este un numr natural de cel mult 3 cifre, iar numele autorului nu poate avea mai mult de 20 de
litere. Care dintre urmtoarele declarri este corect? (4p.)
a. struct carte{ int val;char nume;} t;
b. struct carte{int val,nume;} t;
c. struct carte{ int val;char nume[21];} t;
d. struct carte{ int val[21][21];char nume;} t;
57.2. Care dintre urmtoarele afirmaii este adevrat pentru orice graf neorientat G cu 3 noduri i 3
muchii? (4p.)
a. este conex b. are dou noduri izolate

30

c. nu poate avea cicluri d. are un nod izolat
57.3. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris prin
urmtorul vector de tai:(3,5,0,3,3,5,5,5).
a) Care este nodul cu cei mai muli descendeni direci (fii)? (3p.)
b) Care sunt nodurile frunz ale acestui arbore? (3p.)
57.4. Se consider mulimea vocalelor {a,e,i,o,u}. Scriei o expresie C/C++ care s fie nenul dac
i numai dac variabila c de tip char este o vocal. (6p.)
57.5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i a (2<n<25,
0<a<n) i construiete n memorie o matrice cu n linii i n coloane numerotate de la 1 la n, format
numai din valori 0,1 i 2 astfel nct: elementele aflate pe linia a sunt egale cu 0, cele de deasupra
liniei a sunt egale cu 1, iar elementele aflate sub linia a sunt egale cu 2 ca n exemplul de mai jos.
Programul afieaz pe ecran matricea construit, fiecare linie a 1 1 1 1 1
matricei pe o linie a ecranului i elementele de pe aceeai linie 1 1 1 1 1
separate prin cte un singur spaiu. 1 1 1 1 1
Exemplu: pentru n=5, a=4 se construiete n memorie i se afieaz 0 0 0 0 0
matricea alturat. (10p.) 2 2 2 2 2
58.1. Variabila t este utilizat pentru a memora numrul de exemplare disponibile ntr-o bibliotec i
titlul unei cri. Numrul de exemplare este un numr natural de cel mult 2 cifre, iar titlul nu poate avea
mai mult de 20 de litere. Care dintre urmtoarele declarri este corect? (4p.)
a. struct carte { b. struct carte{
float nr,titlu; int nr;
} t; char titlu[21];
} t;
c. struct carte{ d. struct carte{
char nr; int titlu; long nr,titlu;
} t; } t;
58.2. Dac G este un graf neorientat cu 4 noduri i 2 muchii, atunci numrul maxim de componente
conexe pe care le poate avea graful este: (4p.) a. 1 b. 2 c. 3 d. 4
58.3. Se consider o stiv iniial vid n care se introduc, n aceast ordine, numerele 1,2,3,4,5,
apoi se fac dou extrageri, se introduc, n aceast ordine, numerele 6,7 i 8 i apoi se mai fac 4
extrageri. a) Ce numr se va afla n vrful stivei dup finalizarea acestor operaii? (3p.)
b) Care este suma elementelor aflate n stiv dup efectuarea acestor operaii? (3p.)
58.4. Variabila a memoreaz o matrice cu 10 linii i 10 coloane, numerotate de la 1 la 10, iar i i
j sunt variabile ntregi cu valori cuprinse ntre 1 i 10. Scriei o expresie C/C++ care s fie nenul
dac i numai dac elementul a[i][j] nu se afl pe niciuna dintre diagonalele acestei matrice. (6p.)
58.5. Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere (litere
mici i mari ale alfabetului englez, cifre i spaii), determin i afieaz pe ecran cte litere mari, cte
litere mici i cte caractere nu sunt litere n irul citit.
Exemplu: dac se citete irul: Voi lua 9 la matematica si 10 la informatica
atunci se va afia: 1 32 11. (10p.)
59.1. Variabila s memoreaz un ir de caractere. Care dintre urmtoarele expresii C/C++ este nenul
dac i numai dac lungimea efectiv a irului este strict mai mic dect 10? (4p.)
a. strlen(s)<10 b. strlen(s,10)<0 c. leng(s)<10 d. s-0<10
59.2. Care dintre urmtoarele afirmaii este adevrat? Orice graf neorientat cu 4 noduri i 4 muchii :
a. are gradele tuturor nodurilor numere pare b. nu are cicluri
c. este conex d. este arbore (4p.)
59.3. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris prin
urmtorul vector de tai: (4,5,0,3,4,5,4,5). Care sunt frunzele arborelui? (6p.)
59.4. Fie a o variabil care memoreaz o matrice cu 10 linii i 10 coloane numerotate de la 1 la 10,
iar i i j dou variabile de tip int ale cror valori sunt cuprinse ntre 1 i 10. Scriei o expresie n
limbajul C/C++ care s fie nenul dac i numai dac a[i][j] se afl pe penultima linie i sub
diagonala principal a matricei a. (6p.)
59.5. Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere (litere
mici i mari ale alfabetului englez, cifre, puncte, virgule i spaii) i afieaz pe ecran cifra care apare de

31

cele mai multe ori n irul citit. Dac irul conine mai multe cifre cu numr maxim de apariii, atunci se va
afia cea mai mic dintre acestea. Dac irul nu conine cifre, se va afia pe ecran mesajul NU.
Exemplu: dac se citete irul:
Voi lua 9,5 la matematica 10 la informatica si 10 la romana
atunci se va afia cifra 0 (pentru c cifrele 0 i 1 apar de cele mai multe ori n ir i 0 este cea mai
mic dintre ele) (10p.)
60.1. Variabila s memoreaz un ir de caractere. Care dintre urmtoarele expresii C/C++ este nenul
dac i numai dac lungimea efectiv a irului este un numr par? (4p.)
a. s-2==0 b. strlen(s,2)=0 c. leng(s)%2 d. strlen(s)%2==0
60.2. Dac G este un graf neorientat cu 4 noduri i 2 componente conexe, atunci graful are cel mult:
a. 4 muchii b. 2 muchii c. 3 muchii d. o muchie (4p.)
60.3. Dac T este un arbore cu rdcin cu 100 de noduri, care este numrul minim de frunze pe
care le poate avea T? (6p.)
60.4. Fie a o matrice cu 5 linii i 5 coloane numerotate de la 1 la 5. Fiecare element a[i][j]
(1i5, 1j5) din matrice memoreaz valoarea expresiei (i-1)*5+j. Care este valoarea sumei
elementelor de pe ultima coloan a matricei? (6p.)
60.5. Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere (litere
mici i mari ale alfabetului englez, cifre i spaii) i afieaz pe ecran litera mic cel mai des
ntlnit n irul citit. Dac exist mai multe litere mici cu numr maxim de apariii, programul o va afia
pe prima dintre ele n ordine alfabetic. Dac irul nu conine litere mici, atunci pe ecran se va afia
mesajul nu. Exemplu: dac se citete irul: mergem la munte
atunci se va afia: e (pentru c literele e i m apar de cele mai multe ori n ir i e este prima
dintre ele n ordine alfabetic). (10p.)
61.1. Care este numrul de componente conexe ale
grafului neorientat G, din desenul alturat? (4p.)

a. 6 b. 1
c. 3 d. 2



61.2. Care vor fi valorile afiate
dup executarea secvenei
alturate? (4p.)

char s1[20]=variabila, s2[20]=varianta;
if(strcmp(s1,s2)<0 && strlen(s1)<strlen(s2))
printf(%s %s,s1,s2); | cout<<s1<< <<s2;
else
printf(%s %s,s2,s1); | cout<<s2<< <<s1;
a. variabila varianta b. variantavariabila
c. varianta variabila d. variabila variabila
61.3. Se consider un arbore cu rdcin, cu 100 noduri, numerotate de la 1 la 100.
a) Care este numrul de muchii din arbore? (3p.)
b) Care este numrul maxim de cicluri pe care acesta l poate conine? (3p.)
61.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.)
61.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n15) i
construiete n memorie o matrice ptrat cu n linii i n coloane n care:
- ultima linie conine, n ordine, numerele 1,2,3,..,n
- elementele situate deasupra diagonalei principale sunt nule
- oricare alt element este obinut prin nsumarea elementelor vecine cu el, aflate pe linia imediat
urmtoare, pe aceeai coloan cu el sau pe una din coloanele alturate. Programul va afia pe ecran
matricea obinut pe n linii, elementele fiecrei linii fiind 27 0 0 0
separate prin cte un spaiu. 9 18 0 0
Exemplu: pentru n=4 pe ecran se va afia: 3 6 9 0
1 2 3 4 (10p.)

32

62.1. Care dintre urmtoarele afirmaii referitoare la graful neorientat G,
reprezentat n figura alturat, este adevrat? (4p.)


a. Graful parial al lui G obinut prin eliminarea muchiei [5,2] este un arbore
b. Graful nu conine cicluri
c. Cel mai lung lan, care conine nu mai noduri distincte, are lungimea 2
d. Numrul nodurilor de grad par este egal cu numrul nodurilor de grad impar
62.2. Considernd declarrile alturate, care dintre urmtoarele referiri
este corect din punct de vedere sintactic ? (4p.)
a. cerc.x b. c.x
c. c.cerc.x d. raza.x
struct cerc
{float raza;
int x,y;};
cerc c;
62.3. Se consider graful orientat G cu 6 vrfuri numerotate cu numerele
de la 1 la 6, definit cu ajutorul listelor de adiacen alturate. Care este
numrul de circuite distincte din graful G? Dou circuite sunt distincte
dac difer prin cel puin un arc. (6p.)

1: 2 6
2: 3
3:
4: 3
5: 4 6
6: 3
62.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.)
62.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: Calculati valoarea expresiei
pe ecran se va afia: a l c u t i v o r e x p s
63.1. Se consider un arbore G, cu rdcin, memorat cu ajutorul vectorului de tai urmtor:
T=(2,0,4,2,4,7,2). Care dintre urmtoarele afirmaii este adevrat? (4p.)
a. Nodurile 1,4 i 6 sunt frai.
b. G este conex i prin eliminarea unei muchii oarecare din G, graful obinut nu este conex.
c. Prin eliminarea muchiei [6,7] se obine un graf parial, conex.
d. Arborele G are 5 frunze.
63.2. Se consider un tablou bidimensional a, format din numere
naturale, cu n linii i n coloane, numerotate de la 1 la n. Ce reprezinta
valoarea variabilei x, dup executarea secvenei de program alturate?
(4p.)
x=a[n][1];
for(i=n;i>=1;i--)
if (x<a[i][n-i+1])
x=a[i][n-i+1];
a. cel mai mare numr de pe diagonalele tabloului a
b. cel mai mare numr de pe diagonala secundar a tabloului a
c. cel mai mare numr de pe diagonala principal a tabloului a
d. cel mai mare numr din tabloul a
63.3. Care dintre vrfurile grafului orientat din
figura alturat, au gradul interior un numr
par? (6p.)


63.4. Se consider variabilele s1 i s2 care memoreaz fiecare cte un ir de maximum 50 de
caractere. Scriei secvena de instruciuni care, n urma executrii, afieaz cele dou iruri de caractere
n ordinea cresctoare a lungimilor lor. (6p.)

33

63.5. Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i
m(1sns24, 1sms24) 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 6 11 16
Exemplu: pentru n=5 i m=4 se va afia: 2 7 12 17
3 8 13 18
4 9 14 19
5 10 15 20 (10p.)
64.1. Considernd declarrile alturate, care dintre
urmtoarele referiri este corect din punct de vedere
sintactic ? (4p.)
a. e.fig.tip b. a.e
c. e.punct.x d. e.a.x
struct punct{float x,y;};
struct fig
{ char tip;
punct a,b,c;}
fig e;
64.2. Se consider un tablou bidimensional a cu n linii i n
coloane, numerotate de la 1 la n, cu elemente numere ntregi.
Ce reprezinta valoarea variabilei ntregi x, dup executarea
secvenei de program alturate? (4p.)
x=0;
for(i=1;i<=n;i++)
x=x+a[i][i];

a. Suma elementelor de pe diagonala principal a tabloului a
b. Suma elementelor de pe diagonala secundar a tabloului a
c. Suma elementelor tabloului a
d. Cel mai mare element de pe diagonala principal a tabloului a
64.3. Se consider un graf neorientat reprezentat prin listele de
adiacen alturate. Construii matricea de adiacen corespunztoare
grafului dat. (6p.)

1: 2 3
2: 1 3 4
3: 1 2 4 5
4: 2 3 5
5: 3 4
64.4. ntr-un graf orientat G cu 6 vrfuri numerotate cu numere distincte de la 1 la 6, exist arc de la
vrful i la vrful j dac i numai dac i<j i j-i>1. Care sunt vrfurile din graf ce au gradul interior
mai mare dect gradul exterior? (6p.)
64.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.)
65.1. Se consider un graf G neorientat, conex, cu 54 de noduri i 53 de muchii. Care dintre
urmtoarele afirmaii este adevrat? (4p.)
a. G nu este arbore b. Prin eliminarea unei muchii din G se menine proprietatea de conexitate
c. G nu are cicluri d. Gradul maxim al unui nod din G poate fi 52
65.2. Dac variabila s a fost declarat astfel: char s[15] = "INFORMATICA";
atunci strlen(s) are valoarea (4p.) a. 10 b. 12 c. 15 d. 11
65.3. Un arbore cu rdcin, cu 8 noduri, numerotate de la 1 la 8, este memorat cu ajutorul
vectorului de tai T=(0,1,1,1,3,5,3,3). Care sunt fraii nodului 7? (6p.)
65.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.)
65.5. Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1sns24, 1sms24) 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 2 3 4 5
Exemplu: pentru n=4 i m=5 se va afia: 10 9 8 7 6
11 12 13 14 15

34

20 19 18 17 16 (10p.)
66.1. Cum se poate accesa prima liter a denumirii unui produs ale crui
caracteristici sunt memorate n variabila p, declarat alturat? (4p.)
a. produs.denumire[0] b. denumire.p[0]
struct produs{
char denumire[15];
int pret;}p;
c. p.denumire[0] d. P->denumire[0]
66.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. 1 b. 2 c. 0 d. 3
66.3. Un arbore cu rdcin avnd 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul
vectorului de tai t=(2,5,5,3,0,2,4,1,1). Scriei toi ascendenii nodului 4. (6p.)
66.4. Se consider secvena alturat n care mat este un tablou
bidimensional cu 5 linii i 5 coloane, numerotate de la 1 la 5, iar
aux, j, x, y sunt variabile de tip ntreg. tiind c orice element al
tabloului este iniial egal cu numrul de ordine al liniei pe care se afl,
precizai care sunt elementele tabloului mat dup executarea
secvenei alturate dac x memoreaz valoarea 2 i y memoreaz
valoarea 4? (6p.)
for(j=1;j<=5;j++)
{aux=mat[x][j];
mat[x][j]=mat[y][j];
mat[y][j]=aux;}

66.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
67.1. Cum se poate accesa prima liter a numelui unei
persoane ale crei date de identificare sunt
memorate n variabila p, declarat alturat? (4p.)
struct persoana{
char nume[20],prenume[20];
int varsta;} p;
a. p.nume[0] b. persoana.nume[0] c. p->nume[0] d. nume.p[0]
67.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. 1 b. 0 c. 2 d. 3
67.3. Un arbore cu rdcin avnd 8 noduri, numerotate de la 1 la 8, este memorat cu ajutorul
vectorului de tai t=(8,8,0,3,4,3,4,6). Scriei care sunt descendenii nodului 4? (6p.)
67.4. Se consider secvena alturat n care a este o
matrice ptratic cu 4 linii i 4 coloane, numerotate de la 1
la 4, iar i i j sunt variabile de tip ntreg. Care este
matricea a obinut dup executarea secvenei? (6p.)
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
if (i<=j) a[i][j]=i;
else a[i][j]=j;
67.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

35

EXAMEN
68.1. Cum se poate accesa prima liter a denumirii unui
material ale crui caracteristici sunt memorate n variabila m,
declarat alturat? (4p.)
struct material{
char denumire[20];
int pret;} m;
a. denumire.m[0] b. m->denumire[0]
c. material.denumire[0] d. m.denumire[0]
68. Se consider graful neorientat cu matricea de adiacent alturat.
Care este numrul minim de muchii care trebuie eliminate astfel nct
graful s aib dou componente conexe? (4p.)
a. 3 b. 1
c. 2 d. 0
0 1 1 0 1
1 0 0 1 1
1 0 0 1 1
0 1 1 0 1
1 1 1 1 0
68.Care este vectorul de tai asociat arborelui cu
rdcin din figura alturat n care nodul 5 este nodul
rdcin? (6p.)


68.Care este funcia predefinit, n limbajul C/C++, care returneaz lungimea efectiv a unui ir
de caractere transmis ca parametru? (6p.)
68. Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n (1m50,
1n50) i m* n numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou
bidimensional, i afieaz pe ecran ultima cifr a produsului elementelor pozitive aflate pe linii cu
numere de ordine pare i coloane cu numere de ordine impare. Numerotarea liniilor, respectiv a
coloanelor se va face ncepnd cu valoarea 1. Dac nu exist elemente pozitive aflate pe linii cu numere
de ordine pare i coloane cu numere de 11 -21 31 41
ordine impare, se va afia mesajul NU EXISTA. (10p.) 5 -61 71 -81
Exemplu: pentru m=4, n=4 i matricea alturat se va afia 5 91 11 21 31
(care reprezint ultima cifr a valorii 355=5*71). -11 31 -41 0
69.1. Cum se poate accesa prima liter a numelui unui
elev ale crui date de identificare sunt memorate
n variabila e, declarat alturat? (4p.)
struct elev{
char nume[20],prenume[20];
int varsta;}e;
a. e->nume[0] b. e.nume[0] c. elev.nume[0] d. nume.e[0]
69.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. 0 b. 3 c. 2 d. 1
69.3. Care este vectorul de tai asociat arborelui cu
rdcin din figura alturat n care nodul 1 este nodul
rdcin? (6p.)


69.4. Fie s i t dou variabile de tipul ir de caractere. Scriei o instruciune C/C++ prin care variabilei
t i se atribuie irul format din primele n caractere ale lui s. (6p.)
69.5. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n50) i n* n
numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou bidimensional a, cu n linii i n
coloane, i verific dac matricea este triunghiular superior. Programul va afia pe ecran mesajul
corespunztor: Este triunghiular superior respectiv Nu este triunghiular
superior. O matrice se numete triunghiular superior dac toate elementele aflate sub diagonala
principal a ei sunt nule. (10p.) 1 2 3
Exemplu: pentru n=3 i matricea alturat se va afia mesajul: 0 5 6
Este triunghiular superior 0 0 9
70.1. tiind c fiecare dintre variabilele var1, var2 memoreaz numele
struct elev

36

i nota unui elev n forma dat de declararea alturat, indicai care dintre
urmtoarele expresii atribuie variabilei reale m media aritmetic a notelor
celor doi elevi. (4p.)
{ char nume[30];
float nota;
}var1,var2;
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;
70.2. Se consider graful neorientat reprezentat prin listele de adiacen
alturate. Care este numrul minim de muchii care trebuie eliminate astfel
nct graful s aib dou componente conexe? (4p.)
a. 0 b. 1
c. 3 d. 2
1: 2,4,5
2: 1,3
3: 2,5,4
4: 1,3
5: 3,1
70.3. Care este vectorul de tai asociat arborelui cu rdcin din
figura alturat n care nodul 5 este nodul rdcin? (6p.)


70.4. Considerm s o variabil de tip ir de caractere declarat astfel: char s[100]; tiind c
aceast variabil memoreaz un cuvnt oarecare, scriei o instruciune n limbajul C/C++, care permite
afiarea pe ecran a ultimului caracter din cuvntul memorat n s. (6p.)
70.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 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.)
Exemplu: pentru m=3, n=4, 11 21 31 41 se va afia matricea 11 21 31 41
x=2 i matricea alturat 51 61 71 81 91 11 21 31
91 11 21 31
71.1. Care este numrul maxim de noduri frunz pe care le poate avea un arbore cu rdcin cu
15 noduri? (4p.) a. 1 b. 15 c. 14 d. 0
71.2. Se d graful orientat definit prin matricea de
adiacen alturat. Precizai cte noduri ale grafului au
gradul interior egal cu gradul exterior. (4p.)

a. 5 b. 6
c. 3 d. 4
0 1 0 1 0 0
1 0 1 0 0 0
1 1 0 0 0 1
0 0 0 0 1 0
0 0 1 0 0 1
0 0 0 0 1 0
71.3. Se consider o stiv S1, iniial vid, n care s-au introdus n ordine valorile a,b,c,d,e,f,g,h i
o alt stiv S2, iniial vid. 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?
71.4. Fiecare dintre variabilele declarate alturat memoreaz numele
i nota cte unui elev. Scriei secvena de instruciuni prin care se
citesc de la tastatur numele i nota pentru fiecare dintre variabilele e1
i e2 i apoi se afieaz numele elevului cu nota cea mai mare. Dac
cele dou medii sunt egale, se va afia numele elevului memorat n
variabila e1. (6p.)
struct elev{
char nume[20];
float nota;
};
elev e1,e2;

71.5.Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n100), construiete
n memorie i apoi afieaz pe ecran o matrice a cu n linii i n coloane, numerotate de la 1 la n, care
conine numerele naturale, n ordine cresctoare, de la 1 la n
2
, dispuse pe coloane, n ordine
cresctoare. Astfel coloana 1 va conine numerele de la 1 la n, coloana 2 numerele de la n+1 la 2*n,
coloana 3 de la 2*n+1 la 3*n i aa mai departe, ca n exemplu. Matricea se va afia pe ecran, cte o
linie a matricei pe cte o linie a ecranului, elementele fiecrei 1 5 9 13
linii fiind separate ntre ele prin cte un spaiu. 3 7 11 15
Exemplu: pentru n = 4 se va afia matricea alturat. (10p.) 2 6 10 14
4 8 12 16

37

72.1. Fie arborele cu 6 noduri etichetate cu numere naturale de la 1 la 6 i cu muchiile: [2,4],[2,6]
[5,7] [6,3] [6,8] [7,1] [7,2] [7,9]. Ci vectori de tai distinci se pot construi pentru acest
arbore? Doi vectori de tai sunt distinci dac exist cel puin o poziie pentru care elementele
corespunztoare din cei doi vectori sunt distincte. (4p.)
a. 4 b. 6! c. 6 d. 5
72.2. Variabilele x i s memoreaz iruri cu cel mult 20 de caractere: x memoreaz irul primavara,
iar variabila s memoraz irul anotimp. Ce se va memora n variabila s n urma executrii instruciunii
de mai jos?
strncat(s, x, 5); (4p.)
a. anotimpprima b. Anotimpprimavara c. primavara d. prima
72.3. Se consider un graf neorientat cu 8 noduri, numerotate de la 1 la 8 i muchiile: [1,4], [1,8]
,[2,1], [2,3], [3,1], [4,5], [4,7], [5,7], [6,5]. Precizai cte componente conexe va
avea subgraful obinut prin eliminarea nodului 1. (6p.)
72.4. Se consider graful orientat cu 5 noduri, numerotate de la 1 la
5, definit prin matricea de adiacen alturat. Indicai numrul minim
de arce care trebuie adugate grafului astfel nct, pentru orice dou
noduri x i y ale sale, s existe cel puin un drum de la x la y. (6p)

0 1 0 0 0
0 0 1 1 1
0 1 0 1 0
0 0 1 0 0
0 0 0 0 0
72.5.Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n24) i
construiete n memorie, apoi afieaz pe ecran o matrice a cu n linii i n coloane, simetric fa de
diagonala secundar. Elementele matricei sunt numerele naturale de la 1 la
2
) 1 ( * + n n
.
Elementele situate deasupra i pe diagonala secundar sunt dispuse n ordine 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
73.1. Se consider arborele cu 12 noduri, numerotate de la 1 la 12, definit prin urmtorul vectori de
tai: (4, 8, 0, 3, 10, 1, 8, 3, 2, 4, 7, 10). Care dintre nodurile arborelui au exact un descendent direct
(fiu)? (4p.)
a. 6, 9, 11 b. 1, 2, 7 c. 5, 12, 6, 9, 11 d. 10, 1, 2, 7
73.2. Se consider declarrile alturate. Care este
tipul expresiei x.x.y ? (4p.)
a. float b. int
c. long d. char

struct A {
int x;
char y;
float z;};

struct B {
struct A x;
long y;};
B x, y;.

73.3. Se consider graful orientat cu 6 noduri, numerotate de la 1 la 6, i arcele (1,2), (1,5),
(1,6), (2,3), (4,3), (4,5), (6,5). Care este numrul minim de arce care trebuie adugate
grafului astfel nct acesta s conin cel puin un circuit elementar de lungime 4? Pentru graful rezultat,
dai un exemplu de astfel de circuit. (6p.)
73.4.Variabilele n, i, p i q sunt de tip ntreg, iar variabila a memoreaz un tablou bidimensional
cu n linii i n coloane numerotate de la 1 la n (0<n<50), cu elemente numere reale. nlocuii punctele
de suspensie din secvena de program alturat cu instruciunile corespunztoare, astfel nct, n
urma executrii acesteia, s se interschimbe elementele liniei q cu elementele liniei p ale tabloului a
(1qn, 1pn). Dac sunt necesare i alte variabile, scriei declarrile acestora. (6p.)
for(i = 1; i <= n; i++)
{........}
73.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

38

se va afia: 7 5 (10p.)
74.1. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele 5, 6 i 10.
Dac se noteaz cu PUSH x operaia prin care se adaug elementul cu informaia x n stiv, i cu POP
operaia prin care se elimin un nod din stiv, care este rezultatul executrii secvenei PUSH 1; POP;
POP; PUSH 8; PUSH 6; PUSH 5; POP; POP; (4p.)
a.


b.


c.


d.


74.2. Ce se va afia n urma
executrii secvenei de program
alturate dac variabila x
memoreaz cuvntul
bacalaureat, iar variabila y
memoreaz cuvntul banal?
(4p.)
if(strcmp(x, y) > 0)
cout << x; | printf(%s,x);
else
if(strcmp(x,y) < 0)
cout << y; | printf(%s,y);
else
cout << imposibil;| printf(imposibil);
a. imposibil b. Bacalaureat c. banal d. bacalaureatimposibil
74.3. Se consider un arbore cu 9 noduri, numerotate de la 1 la 9, i cu vectorul de tai urmtor:
(8, 8, 8, 2, 6, 2, 9, 0, 2).
a) Enumerai descendenii nodului 2. (3p.)
b) Cte noduri de tip frunz are acest arbore? (3p.)
74.4. Se consider graful neorientat cu 6 noduri, numerotate de la 1 la 6 i urmtoarele muchii: [1,3]
[1,5] [2,3] [2,4] [2,6] [5,3] [6,4].
a) Care este numrul minim de muchii ce trebuie eliminate din acest graf, astfel nct graful parial
obinut s nu conin niciun ciclu? (3p.)
b) Care este numrul minim de muchii ce trebuie eliminate din graful iniial dat, astfel nct graful parial
obinut s aib exact dou componente conexe? (3p.)
74.5.Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n100), construiete
n memorie i apoi afieaz pe ecran o matrice a, cu n linii i n coloane, numerotate de la 1 la n, n
care fiecare linie conine toate numerele naturale, de la 1 la n , dispuse dup cum urmeaz: pe liniile
de indice impar numerele sunt n ordine cresctoare, iar pe cele de indice par sunt n ordine
descresctoare, ca n exemplu. 1 2 3 4
Matricea se va afia pe ecran, cte o linie a matricei pe o linie a ecranului, 4 3 2 1
elementele unei linii fiind separate ntre ele prin cte un spaiu. 1 2 3 4
Exemplu: pentru n = 4 se va afia matricea alturat. (10p.) 4 3 2 1
75.1. Ce se va afia n urma executrii secvenei
de program alturate tiind c i este o variabil de tip
ntreg, iar variabila x memoreaz iniial irul de
caractere ExAMeNe? (4p.)
for(i = 0; i < strlen(x); i++)
if(x[i] >= A && x[i] <=N)
x[i] = x[i] + a-A;
cout << x;
a. exAmeNe b. ExAmene c. EXAMENE d. examene
75.2. Se consider graful neorientat cu 6 noduri, numerotate de la 1
la 6 definit prin listele de adiacent alturate. Cte muchii trebuie
adugate n acest graf astfel nct el s devin graf complet? (4p.)

a. 16 b. 14
c. 6 d. 8
1: 3 5
2: 3 4 6
3: 1 2 5
4: 2 6
5: 1 3
6: 2 4.
75.3. Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele 1, 2 i 3. Se
noteaz cu ADD x operaia prin care se adaug informaia x n coad i cu ELIM operaia prin care se
elimin un nod din coad. Completai punctele de suspensie din secvena urmtoare cu operaiile
necesare astfel nct n urma executrii secvenei: ADD 4; ELIM; ELIM; ... ADD 6; ... ADD
7; coada s conin, n aceast ordine, elementele: 4, 5, 6, 7. (6p.)
75.4. Se consider graful orientat cu 7 vrfuri, numerotate de la 1 la 7, i arcele (1,2), (2,5), (3,2),
(3,4), (3,6), (5,6), (5,7), (6,1). Care este numrul minim de arce care trebuie adugate acestui
graf astfel nct, pentru orice dou noduri x i y, din mulimea {1,2,3,4} s existe cel puin un drum de
la x la y? Enumerai arcele care trebuie adugate. (6p.)

39

75.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
pe o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii.
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
1 1 1 1 1
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
76.1. n secvena de program alturat variabila t memoreaz o
matrice cu 5 linii i 5 coloane, numerotate de la 0 la 4, cu
elemente numere ntregi, iar celelalte variabile sunt
ntregi. Executarea acestei secvene de program determin
memorarea n variabila x a sumei elementelor situate: (4p.)
x=0;
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
x=x+t[i][j];

a. deasupra diagonalei principale, inclusiv diagonala principal
b. strict deasupra diagonalei principale
c. strict sub diagonala principal
d. strict deasupra diagonalei secundare
76.2. Fie graful orientat cu 8 vrfuri, numerotate de la 1 la 8, i arcele (1,2), (2,3), (3,1), (4,5),
(6,5), (5,7), (7,6), (7,4), (8,7). Numrul minim de arce care trebuie adugate astfel nct,
pentru oricare dou vrfuri x i y din graf s existe cel puin un drum de la nodul x la nodul y este:
a. 2 b. 4 c. 0 d. 1 (4p.)
76.3. ntr-o stiv ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast ordine,
numerele 1,2,3,4. Asupra stivei se efectueaz, n aceast ordine, urmtoarele operaii: se elimin un
element, se adaug dou elemente cu valorile 5 i respectiv 6 i apoi se elimin 3 elemente.
a) Care este valoarea memorat n elementul din vrful stivei dup efectuarea acestor operaii? (3p.)
b) Care este suma elementelor aflate n stiv dup efectuarea acestor operaii? (3p.)
76.4. Care este vectorul de tai pentru arborele cu 8 noduri, numerotate de la 1 la 8, i muchiile
[1,5], [2,3], [3,6], [3,8], [4,6], [5,7], [6,7], dac se alege ca rdcin nodul numerotat cu
6? (6p.)
76.5. Scriei programul C/C++ care citete de la tastatur un cuvnt de maximum 20 de litere i
minimum o liter i afieaz pe ecran toate cuvintele obinute din cuvntul citit prin eliminarea primei i a
ultimei litere. Prima prelucrare se refer la cuvntul citit, iar urmtoarele la cuvntul rezultat din
prelucrarea anterioar. Procedeul de eliminare i afiare se va repeta pn cnd se obine cuvntul vid,
ca n exemplu. Fiecare cuvnt obinut se va afia pe cte o linie a ecranului.
Exemplu : dac se citete cuvntul bacalaureat, se va afia:
bacalaureat
acalaurea
calaure
alaur
lau
a (10p.)
77.1. Variabila t memoreaz o matrice cu 8 linii i 8 coloane,
numerotate de la 0 la 7, cu elemente numere ntregi, iar
variabilele i i j sunt ntregi. Secvena de program alturat
determin n urma executrii ei, memorarea n variabila ntreag z
a sumei tuturor elementelor situate: (4p.)
z=0;
for(i=0;i<8;i++)
for(j=0;j<i;j++)
z=z+t[i][j];

a. strict sub diagonala principal b. deasupra diagonalei principale, inclusiv
diagonala principal
c. strict deasupra diagonalei principale d. strict deasupra diagonalei secundare
77.2. Numrul minim de noduri cu gradul 1 pentru un graf neorientat conex cu 21 noduri i 20
muchii este: (4p.) a. 11 b. 3 c. 2 d. 1
77.3. Care sunt noduri de grad 1 din arborele cu rdcin, cu 7 noduri, numerotate de la 1 la 7,
descris prin urmtorul vector de tai: (5,1,4,5,0,4,3) (6p.)

40

77.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.)
77.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.)
78.1. Variabila t memoreaz o matrice cu 8 linii i 8 coloane,
numerotate de la 0 la 7, cu elemente numere ntregi, iar celelalte
variabile sunt ntregi. Secvena de program alturat determin n
urma executrii ei, memorarea n variabila ntreag z a sumei
tuturor elementelor situate: (4p.)
z=0;
for(i=0;i<8;i++)
for(j=0;j<8-i;j++)
z=z+t[i][j];

a. strict sub diagonala secundar b. deasupra diagonalei principale, inclusiv
diagonala principal
c. deasupra diagonalei secundare, inclusiv d. strict deasupra diagonalei secundare
diagonala secundar
78.2. Un graf neorientat are 40 de noduri si 40 de muchii. Numrul minim i numrul maxim de
componente conexe ale grafului este (4p.)
a. 1, respectiv 30 b. 1, respectiv 31 c. 1, respectiv 40 d. 2, respectiv 30
78.3. Fie graful orientat cu 7 vrfuri numerotate de la 1 la 7 i arcele (1,2) (2,3) (3,1) (4,5)
(5,6) (5,7) (6,7) (7,4). Care este numrul minim de arce i care sunt acele arce care ar trebui
eliminate pentru ca graful parial obinut s nu mai conin circuite? (6p.)
78.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.)
78.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.)
79.1. Variabila t memoreaz o matrice cu 8 linii i 8 coloane,
numerotate de la 0 la 7, cu elemente numere ntregi, iar celelalte
variabile sunt ntregi. Secvena de program alturat determin, n
urma executrii ei, memorarea n variabila ntreag z a sumei
tuturor elementelor situate: (4p.)
z=0;
for(i=0;i<8;i++)
for(j=7-i;j<8;j++)
z=z+t[i][j];

a. sub diagonala secundar, inclusiv b. deasupra diagonalei principale, inclusiv
diagonala secundar diagonala principal
c. strict sub diagonala principal d. strict deasupra diagonalei secundare
79.2. Se consider un graf orientat cu 6 vrfuri, numerotate de la 1 la 6, cu proprietatea c exist un
arc cu extremitea iniial n vrful i i extremitea final n vrful j dac i este divizor al lui j. Gradul
interior (intern) maxim al vrfurilor din acest graf este: (4p.)
a. 3 b. 5 c. 4 d. 2

41

79.3. Se consider arborele cu 13 noduri numerotate de la 1 la 13 i mulimea muchiilor {[1,4],
[2,5],[3,8],[4,7],[4,9],[4,11],[6,3], [6,10],[6,12],[5,6],[13,2],[2,9]}. Dac
se alege nodul numerotat cu 2 drept rdcin, care este vectorul de tai pentru acest arbore? (6p.)
79.4. Fie graful neorientat cu 6 noduri numerotate de la 1 la 6 i muchiile [1,2], [1,3], [1,4],
[2,3], [2,4], [3,4], [3,5], [4,5], [4,6], [5,6]. Care este numrul maxim de muchii care pot fi
eliminate astfel nct graful parial obinut s i pstreze proprietatea de graf conex? (6p.)
79.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.)
80.1. n secvena de program alturat, variabila a memoreaz o
matrice cu 8 linii i 8 coloane (numerotate de la 1 la 8), cu
elemente numere ntregi, iar toate celelalte variabile sunt ntregi.
Ce valoare va avea elementul a[8][8] dup executarea
secvenei? (4p.)
for(i = 1; i<=8; i++)
{ k=i;
for(j = 1; j<=8; j++)
{ a[i][j]=k; k=k+1; }
}
a. 16 b. 15 c. 64 d. 10
80.2. Se consider un graf neorientat cu 7 noduri, numerotate de la 1 la 7, cu proprietatea c exist
muchie cu extremitile n nodurile i i respectiv j dac numerele i i j sunt de aceeai paritate sau
dac i este divizor al lui j. Gradul minim al unui nod din acest graf este: (4p.)
a. 1 b. 2 c. 4 d. 3
80.3. Fie graful orientat cu 9 vrfuri numerotate de la 1 la 9 i arcele (1,2) (2,3) (3,1) (4,5)
(5,6) (5,7) (6,7) (7,4) (8,7) (8,9) (9,8). Care sunt vrfurile cu proprietatea c gradul
interior este egal cu gradul exterior ? (6p.)
80.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.)
80.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.)
81.1. tiind c s-au fcut declarrile alturate, stabilii care dintre
urmtoarele expresii este corect din punct de vedere sintactic?
(4p.)
struct elev{
char nume[30];
float nota;} a[100];
a. elev[1].nota b. a[1].nota[1] c. a.nota[1] d. a[1].nota
81.2. Graful neorientat cu 5 noduri numerotate de la 1 la 5, este
reprezentat cu ajutorul matricei de adiacen alturate. Numrul maxim de
muchii ce pot fi eliminate astfel nct graful parial rezultat s aib 2
componente conexe este: (4p.)
a. 5 b. 4 c. 6 d. 3
0 1 1 1 1
1 0 1 1 0
1 1 0 1 0
1 1 1 0 1
1 0 0 1 0
81.3. 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.)
81.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.)
81.5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m (ns10,
ms10), apoi elementele unui tablou bidimensional cu n linii i m coloane, numere ntregi distincte, de

42

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. (10p.)
Exemplu: pentru n=5,
m=4 i tabloul

2 24 -5 8
3 25 17 9
4 -2 13 10
5 14 12 70
6 57 36 43
se va afia tabloul
2 24 70 8
3 25 17 9
4 -2 13 10
5 14 12 -5
6 57 36 43
82.1. Se consider graful orientat cu nodurile numerotate de la 1 la 5 i arcele (1,2), (1,5),(2,1),
(2,3), (2,5), (3,4), (5,2), (5,4). Care este lungimea maxim a unui drum format din noduri
distincte, de la nodul 1 la nodul 4? (4p.)
a. 5 b. 6 c. 4 d. 7
82.2. Se consider o stiv n care au fost introduse, n aceast ordine, numerele 1, 2 i 3. Care dintre
valorile din stiv va fi eliminat prima? (4p.)
a. 1 b. 2 c. 3 d. oricare dintre ele
82.3. tiind c variabila s reine un ir de caractere,
scriei ce se va afia la executarea secvenei
alturate. (6p.)

strcpy(s,barba);
for(i=0;i<strlen(s);i++)
if(s[i]==b)
s[i]=t;
cout<<s; | printf(%s,s);


82.4. Un graf neorientat cu nodurile numerotate de la 1 la 4 este
reprezentat prin matricea de adiacen alturat.
a) Scriei nodurile din acest graf care au grad par. (3p.)
b) Scriei nodurile din acest graf care au grad impar. (3p.)
0 1 1 0
1 0 0 0
1 0 0 1
0 0 1 0
82.5. Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (ns10) 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.)
Exemplu: pentru n=4 i
tabloul:

2 24 15 -8
3 25 17 9
4 -2 73 10
5 14 12 10
se va afia
73 24 15 -8
3 25 17 9
4 -2 2 10
5 14 12 10
83.1. Se consider graful orientat cu nodurile numerotate de la 1 la 5 i arcele (1,2), (1,4), (2,1),
(2,5), (3,2), (4,3), (5,1), (5,4). Care este numrul minim de arce care poate fi adugat pentru
ca toate nodurile s aib i gradul extern i gradul intern numere pare? (4p.)
a. 1 b. 2 c. 3 d. 4
83.2. Se consider o coad n care au fost introduse, n aceast ordine, numerele 1, 2 i 3. Care dintre
valorile din coad va fi eliminat prima? (4p.)
a. 1 b. 2 c. 3 d. oricare dintre ele
83.3. Se consider un graf neorientat cu 5 noduri, n care nodurile au urmtoarele grade: 2,2,2,1,1.
tiind c graful are dou componente conexe, scriei matricea de adiacen a acestuia. (6p.)
83.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.)
83.5. Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (ns10) 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.)
Exemplu: pentru n=4 i
2 24 15 -8
se va afia
2 24 15 17

43

tabloul:

3 25 17 9
4 -2 73 10
5 14 12 10
3 25 -8 9
4 -2 73 10
5 14 12 10
84.1. Se consider graful neorientat cu nodurile numerotate de la 1 la 6 i avnd muchiile [1,2],
[1,4], [2,3], [3,5], [3,6], [4,5], [5,6]. Cte lanuri elementare distincte exist de la nodul 1 la
nodul 6 n graful dat? Dou lanuri sunt distincte dac difer prin cel puin o muchie. (4p.)
a. 4 b. 2 c. 6 d. 0
84.2. Un arbore cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de tai
t=(9,3,4,7,3,9,0,7,2). Numrul tuturor descendenilor nodului 2 este: (4p.)
a. 3 b. 1 c. 0 d. 2
84.3. 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.)
84.4. Scriei secvena de program C/C++ care afieaz
pe ecran numele, prenumele i media unui elev, reinute
de variabila el, declarat alturat. (6p.)

struct elev {
char nume[40];
char prenume[40];
float mediabac;
}el;
84.5. Scriei programul C/C++ care citete de la tastatur un numr natural n (1sns10), 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.)
85.1. Se consider graful orientat cu vrfurile numerotate de la 1 la 7 i arcele (1,2), (1,7),
(2,3), (3,2), (3,4), (4,3), (5,4), (5,6), (6,4), (7,6). Cte noduri cu gradul extern
par exist n graful dat? (4p.)
a. 3 b. 2 c. 4 d. 0
85.2. Un arbore cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de tai
t=(9,3,4,7,3,9,0,7,2). Lungimea celui mai lung lan elementar care pornete din rdcin este:
a. 1 b. 5 c. 3 d. 4 (4p.)
85.3. Scriei secvena de program C/C++ care
citete de la tastatur numele, prenumele i salariul unei
persoane, memorate de variabila p, declarat alturat.
(6p.)

struct persoana
{ char nume[40];
char prenume[40];
int salariu;
}p;
85.4. Se consider un graf neorientat cu 5 noduri, n care nodurile au urmtoarele grade: 1,2,1,1,1.
tiind c graful are dou componente conexe, scriei matricea de adiacen a acestuia. (6p.)
85.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1sns10) i n
2
numere
ntregi mai mici dect 32000, reprezentnd elementele unui tablou bidimensional A cu n linii i n
coloane i apoi n
2
numere ntregi mai mici dect 32000 reprezentnd elementele unui tablou
bidimensional B cu n linii i n coloane. Programul construiete n memorie i afieaz pe ecran tabloul
C, cu n linii i n coloane, construit dup regulile de mai jos, ca n exemplu:
- elementele de deasupra diagonalei principale sunt comune cu ale matricei A, situate pe acealeai
poziii
- elementele de pe diagonala principal sunt egale cu cel mai mic dintre elementele situate pe aceleai
poziii n matricele A i respectiv B
- elementele situate sub diagonala principal sunt egale cu ale matricei B, situate pe aceleai poziii
Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar elementele de pe aceeai linie sunt
separate prin cte un spaiu. (10p.)
Exemplu:
pentru n=4
i matricea A:

1 2 3 4
5 6 7 8
9 15 11 12
1 8 7 5
i matricea B:
9 12 3 6
8 2 6 5
4 10 60 12
0 9 5 3
se obine
matricea C:

1 2 3 4
8 2 7 8
4 10 11 12
0 9 5 3

86.1. Care este suma gradelor grafului neorientat cu 4 noduri numerotate
de la 1 la 4, reprezentat prin matricea de adiacen alturat? (4p.)
0 1 1 1
1 0 1 0

44

a. 4 b. 10
c. 6 d. 8
1 1 0 0
1 0 0 0
86.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. exam c. menn d. men
86.3. Scriei matricea de adiacen a arborelui cu 6 noduri, numerotate de la 1 la 6, definit prin
urmtorul vector "de tai": (0, 1, 1, 1, 3, 3). (6p.)
86.4. n secvena alturat, i, j, m i n sunt variabile
ntregi iar T este o matrice format din m linii i n
coloane numerotate de la 1 la m, respectiv de la 1 la
n. Ce valoare are elementul maxim al acestei matrice, n
urma executrii secvenei, dac m=3 i n=5? (6p.)
for(i=1; i<=m; i++)
for(j=1; j<=n; j++)
if ((i+j)%2==0)
T[i][j]=(-1)*(i+j);
else T[i][j]=i+j;
86.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1sns10) 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*n
2
], 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*n
2
], ca n exemplu. Programul
afieaz pe ecran matricea obinut, cte o linie a matricei pe cte o linie a ecranului, elementele fiecrei
linii fiind separate prin cte un spaiu. 1 3 5 7
Exemplu: pentru n=2 se obine matricea alturat. (10p.) 8 6 4 2
9 11 13 15
16 14 12 10
87.1. Cte muchii are graful neorientat cu 6 noduri numerotate de la
1 la 6, reprezentat prin lista de adiacene alturat? (4p.)

a. 5 b. 4
c. 12 d. 6

1: 2 6
2: 1 3 4 5
3: 2
4: 2
5: 2 6
6: 1 5
87.2. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai jos?
strncpy(s,strstr("Informatica","form"),strlen("BAC08")); s[5]='\0'; (4p.)
a. form b. forma c. InfoBAC d. Infor
87.3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6,
reprezentat prin matricea de adiacen dat alturat. Scriei toate
nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta
s aib un numr maxim de frunze. (6p.)

0 1 0 0 0 1
1 0 1 1 1 0
0 1 0 0 0 0
0 1 0 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
87.4. n secvena alturat, i, j i n sunt variabile ntregi, iar
T este o matrice ptratic format din n linii i n coloane
numerotate de la 1 la n. Care este suma elementelor de sub
diagonala principal (excluznd elementele care se afl pe
diagonala principal), n urma executrii secvenei, dac n=5?
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if ((i*j)%2==0)
T[i][j]=(i*j)-n;
else T[i][j]=i+j; (6p.)
87.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.)
88.1. Care este numrul de noduri de grad 1 ale grafului neorientat
cu 8 noduri numerotate de la 1 la 8, reprezentat prin listele de
adiacen alturate? (4p.)

1: 2 6 8
2: 1 3
3: 2 4 7
4: 3 5

45

a. 4 b. 8
c. 3 d. 6

5: 4
6: 1
7: 3
8: 1
88.2. Fie declarrile alturate. Dac variabila x retine
informaii despre 30 de elevi, precizai care este varianta
corect ce afieaz numele i media elevului al 11-lea? (4p.)

struct elev{
char nume[30];
float media;};
elev x[30];
a. cout<<x[10].nume<< <<x[10].media;
| printf(%s %f, x[10].nume,x[10].media);
b. cout<<x.nume<< <<x.media; | printf(%s %f, x.nume,x.media);
c. cout<<x.nume[10]<< <<x.media; | printf(%s %f, x.nume[10],x.media);
d. cout<<x[10]->nume<< << x[10]->media);
| printf(%s %f, x[10]->nume,x[10]->media);
88.3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6,
reprezentat prin matricea de adiacen dat alturat. Scriei toate
nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta
s aib un numr minim de frunze. (6p.)

0 1 0 0 0 1
1 0 1 1 1 0
0 1 0 0 0 0
0 1 0 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
88.4. n secvena alturat, i, j i n sunt variabile ntregi, iar
T este o matrice ptratic format din n linii i n coloane,
numerotate de la 1 la n. Care va fi suma elementelor de pe
diagonala secundar a matricei n urma executrii secvenei,
dac n=5? (6p.)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if ((i*j)%2==0)
T[i][j]=(i*j)-n;
else T[i][j]=i+j;
88.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1sns20), elementele
unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100,100] i afieaz pe ecran
media aritmetic a elementelor strict pozitive ale matricei, care sunt situate deasupra diagonalei
principale, ca n exemplu. Dac nu exist elemente strict pozitive situate deasupra diagonalei principale,
programul va afia mesajul NU EXISTA .
Exemplu: pentru n=4 i matricea alturat se afieaz valoarea -1 2 -4 5
2.75 (sunt luate n considerare doar elementele marcate). 0 6 3 1
(10p.) 2 4 2 0
3 -5 1 -3
89.1. Enumerai nodurile de grad 1 din graful neorientat cu 8 noduri
numerotate de la 1 la 8, reprezentat prin listele de adiacen alturate.
(4p.)
a. 2 3 4 5 6 b. 2 4 7 8
c. 2 4 6 d. 2 4 6 7 8

1: 3 4 5 6
2: 3
3: 1 2 7
4: 1
5: 1 8
6: 1
7: 3
8: 5
89.2. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai jos?
strncpy(s,strstr("informatica","form"),strlen("BAC009"));
s[6]='\0'; (4p.)
a. format b. informat c. inform d. informBAC
89.3. Determinai ultima valoare (notat cu ?) din vectorului de tai (0, 1, 1, 2, 3, 3, ?) astfel nct
arborele cu 7 noduri, numerotate de la 1 la 7, descris de acest vector, s aib pe fiecare nivel n exact
2
n
noduri, nodul rdcin fiind pe nivelul n=0, i fiecare nod s aib cel mult doi descendeni. Scriei
matricea de adiacen a unui arbore astfel definit. (6p.)
89.4. n secvena alturat, i, j i n sunt variabile ntregi iar T
este o matrice ptratic format din n linii i n coloane nume-
rotate de la 1 la n. Care va fi suma elementelor de pe diago-
nala principal n urma executrii secvenei, dac n=5? (6p.)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if ((i*j)%2==0)
T[i][j]=(i*j)/2;
else T[i][j]=i+j;

46

89.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (1sns6) 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.
Programul afieaz pe ecran matricea obinut, cte o linie a matricei pe cte o linie a ecranului,
elementele fiecrei linii fiind 0 1 1 2
separate prin cte un spaiu. 13 8 5 3
Exemplu: pentru n=4 se obine matricea alturat. (10p.) 21 34 55 89
610 377 233 144
90.1. Enumerai nodurile cu grad impar ale grafului neorientat cu 6 noduri numerotate de la 1 la 6 i
muchiile [1,6], [2,1], [2,6], [3,2], [3,4], [3,6], [4,5], [4,6], [6,5]. (4p.)
a. 2 3 4 6 b. 1 3 5 c. 2 4 6 d. 1 3 5 6
90.2. Ce memoreaz variabila s, de tip ir de caractere, dup executarea instruciunilor de mai jos?
strncpy(s,"informatica",strlen("2008"));
s[strlen("2008")]='\0';
strcat(s,"BAC"); (4p.)
a. info b. infoBAC c. BACinfo d. InformaticaBAC
90.3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6,
reprezentat prin matricea de adiacen dat alturat. Scriei toate
nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta
s aib un numr par de frunze.
(6p.)

0 1 0 0 0 1
1 0 1 1 1 0
0 1 0 0 0 0
0 1 0 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
90.4. n secvena alturat, i, j i n sunt variabile ntregi iar T
este o matrice ptratic format din n linii i n coloane
numerotate de la 1 la n. Care va fi suma valorilor de pe
diagonala secundar a matricei n urma executrii secvenei,
dac n=5? (6p.)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if ((i+j)%3==0)
T[i][j]=(i+j)/3;
else T[i][j]=i-j;
90.5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1sns20), elementele
unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100, 100] i afieaz pe ecran
diferena m1-m2, unde m1 este media aritmetic a elementelor strict pozitive ale matricei, situate
deasupra diagonalei principale, iar m2 este media aritmetic a elementelor strict pozitive ale matricei,
situate sub diagonala principal, ca n exemplu. Cele dou medii se consider egale cu 0 dac nu
exist valori strict pozitive n zonele corespunztoare.
Exemplu: pentru n=4 i matricea alturat se afieaz valoarea 0.25
(m1=2.75, calculat din elementele aflate deasupra diagonalei
principale, marcate cu chenar, i m2=2.5, calculat din elementele
subliniate). (10p.)
-1 2 -4 5
0 6 3 1
2 4 2 0
3 -5 1 -3
91.1. Se consider graful neorientat: cu 60 de noduri i 40 de muchii. Suma gradelor tuturor nodurilor
este egal cu : (4p.) a. 120 b. 80 c. 100 d. 20
91.2. Un arbore cu rdcin are 11 noduri, numerotate de la 1 la 11, i este memorat cu ajutorul
vectorului de tai t=(2,5,5,3,0,2,4,6,6,2,3). Descendenii direci (fiii) ai nodului 2 sunt: (4p.)
a. 1, 6 i 10 b. 5 c. 6, 8 i 9 d. 3
91.3. 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.)
91.4. Ce se va afia n urma executrii secvenei
char c[]="abracadabra";

47

alturate de program, n care variabila c memoreaz
un ir cu cel mult 20 de caractere, iar variabila i este
de tip ntreg? (6p.)
c[4]='i';
for(i=4;i>=0;i--)
cout<<c[i];|printf(%c,c[i]);
91.5. Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1sns50, 1sms50) 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.
92.1. Care dintre urmtoarele arce aparine grafului
orientat cu 4 vrfuri, avnd gradele din tabelul
alturat (x,yeN)? (4p.)
a. (2,3) b. (1,2) c. (1,4) d. (4,1)
92.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)*strchr(s,c2)!=0
92.3. Scriei vectorul de tai corespunztor arborelui cu 6 noduri,
numerotate de la 1 la 6, dat prin lista alturat a
descendenilor direci (fiilor). (6p.)

1: 4,6
2: -
3: 1,5
4: -
5: -
6: 2

92.4. Scriei o expresie logic C/C++ care s
codifice condiia ca variabila v din declaraiile alturate
s reprezinte segmentul nul (segmentul care are
originea identic cu extremitatea). (4p.)

struct punct {
float x; float y;
};
struct segment {
struct punct origine;
struct punct extremitate;
} v;
92.5.Scriei un program C/C++ care citete de la tastatur numerele ntregi m i n (1sms50,1sns50) i
elementele unui tablou bidimensional cu m linii i n coloane, numere ntregi distincte de cel mult 4 cifre
fiecare, i elimin din tablou, la nivelul memoriei, linia i coloana corespunztoare elementului de valoare
minim. Programul va afia tabloul obinut pe ecran pe m-1 linii, elementele fiecrei linii fiind separate
prin cte un spaiu. (10p.) Exemplu: pentru m=3 i n=4 i tabloul de mai jos
2 7 1 4 Pe ecran se va afia:
14 6 12 3 14 6 3
9 22 8 5 9 22 5
93.1. Care este numrul minim de noduri ce trebuie eliminate din graful
alturat astfel nct subgraful obinut s nu fie conex? (4p.)

a. 3 b. 0
c. 2 d. 1

93.2. n declararea alturat, cmpurile x i y ale nregistrrii pot
memora coordonatele carteziene ale unui punct din planul xOy.
Care dintre urmtoarele expresii are valoarea 1 dac i numai
dac punctul P este situat pe axa Ox ? (6p.)
struct punct
{
float x,y;
}P;
a. P.x==0 b. P.y==0 c. P.x+P.y==0 d. P.x==P.y

48

93.3. Se consider arborele din figura alturat.
a) Care este nodul care trebuie ales ca rdcin astfel nct aceasta s
aib 4 descendeni direci (fii)? (3p.)
b) Care sunt cei patru fii ai nodului ales ca rdcin n acest caz? (3p.)

93.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.)
93.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 ?.
94.1. Care dintre nodurile grafului neorientat cu 5 noduri numerotate de la
1 la 5, dat prin matricea de adiacen alturat, are gradul cel mai mare?
a. 4 b. 3
c. 5 d. 2 (4p.)
0 1 1 0 0
1 0 1 0 1
1 1 0 1 1
0 0 1 0 1
0 1 1 1 0
94.2. n secvena alturat, i, j i n sunt variabile ntregi, iar a
este o matrice format din 8 linii i 8 coloane, numerotate de la 0
la 7. Care este suma elementelor de pe ultima linie a matricei, n
urma executrii acestei secvene? (4p.)
a. 28 b. 84 c. 36 d. 21
for(i=0; i<8; i++)
for(j=0; j<8; j++)
a[i][j] = (i+j)%8;

94.3. Un graf neorientat cu 5 noduri, numerotate de la 1 la 5, conine urmtoarele muchii: [1,2],
[1,3], [2,3], [2,5], [3,4], [3,5], [4,5]. Eliminai din acest graf numrul necesar de muchii astfel
nct graful parial rezultat s fie arbore. Considernd c acest arbore are ca rdcin vrful 5, care este
vectorul cu legturi de tip tat corespunztor ? (6p.)
94.4. Un graf neorientat cu 5 noduri, numerotate de la 1 la 5, este
reprezentat prin listele de adiacen alturate. Transformai acest
graf ntr-un graf orientat prin nlocuirea fiecrei muchii cu exact un
arc, astfel nct n graful orientat care rezult s existe cel puin un
drum de la orice nod x pn la orice nod y, (xy). Scriei reprezentarea
grafului orientat pe care l-ai construit, prin liste de adiacen. (6p.)
1: 2, 3
2: 1, 3, 5
3: 1, 2, 4, 5
4: 3, 5
5: 2, 3, 4

94.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 (10p.)
95.1. 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. depinde de configuraia arborelui d. exact dou


95.2. n secvena alturat, i, j i n sunt variabile ntregi, iar a este
o matrice ptratic format din n linii i n coloane numerotate de la 0
la n-1. Care este suma elementelor de pe diagonala secundar din
matricea a, n urma executrii acestei secvene, dac n=8? (4p.)
for(i=0; i<n; i++)
for(j=0; j<n; j++)
a[i][j] = (i+j)%n;

a. 8 b. 64 c. 24 d. 56
95.3. Se d graful orientat cu 5 noduri, numerotate de la 1 la 5,
0 1 0 0 0

49

definit prin matricea de adiacen alturat. Determinai un drum de
lungime maxim de la nodul 1 la nodul 5 , care s fie alctuit din
arce distincte dou cte dou. Scriei lungimea drumului determinat
precum i arcele care l compun (lungimea unui drum este egal cu
numrul de arce care l compun). (6p.)
0 0 1 1 1
0 1 0 1 0
0 0 1 0 0
0 0 0 0 0

95.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.)
95.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.)
96.1. Care este numrul maxim de valori egale care pot s apar ntr-un vector cu legturi de tip tat
asociat unui arbore cu rdcin care conine 10 noduri? (4p.)
a. cel mult 2 b. 10
c. nu pot s apar valori egale ntr-un vectorcu legturi de tip tat d. 9
96.2. n secvena alturat, i, j i n sunt variabile ntregi, iar a este
o matrice ptratic format din n linii i n coloane, numerotate de la 0
la n-1. Care este suma elementelor de pe diagonala principal din
matricea a, n urma executrii acestei secvene, dac n=8? (4p.)
for(i=0; i<n; i++)
for(j=0; j<n; j++)
a[i][j] = (i+j)%n;

a. 24 b. 64 c. 56 d. 8
96.3. Se d graful orientat cu 5 noduri, numerotate de la 1 la 5,
definit prin matricea de adiacen alturat. Scriei arcele din care este
alctuit un drum de la nodul 1 la nodul 5, care trece prin toate
nodurile grafului. (6p.)
0 1 0 0 0
0 0 1 1 1
0 1 0 1 0
0 0 1 0 0
0 0 0 0 0
96.4. Scriei listele de adiacen pentru un graf neorientat, care are 8 noduri, numerotate de la 1 la 8, i
care are urmtoarele proprieti: - nu este conex;
- nu are noduri izolate;
- are un numr minim de muchii. (6p.)
96.5. Scriei un program n limbajul C/C++ care citete de la tastatur dou iruri, formate fiecare din
cel mult 20 de caractere. Primul ir reprezint numele unei persoane, iar al doilea ir reprezint
prenumele aceleiai persoane. Att numele ct i prenumele sunt formate numai din litere ale alfabetului
englez i fiecare conine cel puin o consoan. Programul construiete n memorie i afieaz pe ecran
un al treilea ir de caractere, care conine consoanele din prenumele citit dispuse n ordinea n care apar
n prenume urmate de exact un spaiu i de numele citit.
Exemplu: dac primul ir citit este Popescu, iar al doilea este Vasile
se va construi i apoi se va afia pe ecran irul Vsl Popescu (10p.)
97.1. Se consider un graf neorientat 5 noduri i 3 muchii. Care este numrul maxim de noduri cu grad
1 care pot exista n graf? (6p.) a. 2 b. 3 c. 4 d. 5
97.2. Se consider un arbore cu rdcin memorat cu ajutorul vectorului de tai T=(2,0,1,1,1,2).
Stabilii care dintre nodurile arborelui sunt situate pe nivelul 3, dac rdcina este situat pe nivelul 1?
a. 3 4 5 b. 1 c. 2 6 d. 1 2 6 (4p.)
97.3. Se consider variabila s care memoreaz irul de caractere CARACATITA. Ce valoare va avea s
dup executarea instruciunii de mai jos?
strcpy(s,strstr(s,"TI")); (6p.)
97.4. Se consider o stiv, n care au fost introduse iniial, n aceast ordine, primele trei numere impare
1, 3 i 5. Coninutul stivei este reprezentat n figura alturat. Notm cu PUSH x operaia prin care se

50

adaug informaia x n vrful stivei i cu POP operaia prin care se extrage elementul din
vrful stivei. Asupra stivei se efectueaz, exact n aceast ordine, urmtoarele patru
operaii: POP; PUSH 4; PUSH 6; POP. Reprezentai, dup modelul din figura alturat,
coninutul stivei dup fiecare operaie. (4p.)

97.5. Se consider un tablou bidimensional cu n linii i m coloane (1sns50, 1sms50) ce memoreaz
numere ntregi cu cel mult dou cifre fiecare. Scriei un program n limbajul C/C++ care citete de la
tastatur valorile n, m i elementele tabloului, i care inverseaz ordinea elementelor n cadrul fiecrei
coloane, ca n exemplu. Programul va afia pe ecran, pe n linii, matricea obinut dup inversare,
elementele fiecrei linii fiind separate prin cte un spaiu. (10p.)
Exemplu: pentru n=4, m=3 i matricea: 1 7 3
4 5 6
7 8 9
3 4 5
Pe ecran se va afia: 3 4 5
7 8 9
4 5 6
1 7 3
98.1. Fie graful orientat G cu 5 vrfuri, numerotate cu 1,2,3,4,5, i arcele (1,2), (1,3), (1,4),
(2,3), (4,2), (4,5), (5,2), (2,4). Care dintre urmtoarele vrfuri au gradul extern egal cu gradul
intern? (4p.) a. 2 i 4 b. 4 i 5 c. 1 i 2 d. 3 i 4
98.2. Ce se va afia n urma executrii secvene de
instruciuni alturate, considernd c s este o variabil ir
de caractere, iar n o variabil de tip ntreg? (4p.)
a. En b. Een c. Exam d. Exn
char a[10]="Examen";
n=strlen(a);
strcpy(a+1,a+n-1);
cout<<a;| printf("%s",a);
98.3. Scriei vectorul de tai al unui arbore cu rdcin, tiind c: (6p.)
nodurile arborelui sunt numerotate cu numerele naturale distincte 1,2,3,...;
numrul nodurilor este 4 sau 6;
nodul 1 este desemnat ca rdcin;
numrul nodurilor de tip frunz este egal cu jumtate din numrul total de noduri din arbore;
numrul de nivele pe care sunt dispuse nodurile arborelui este egal cu numrul nodurilor de tip frunz.
98.4. Structura de date COLET permite reinerea a dou numere reale, reprezentnd valoarea exprimat
n euro a unui colet potal, respectiv greutatea exprimat n kilograme, i un ir de caractere
reprezentnd numele oraului expeditorului, format din cel mult 30 de caractere. Scriei n limbajul
C/C++ declararea structurii COLET i o secven de instruciuni care permite citirea valorilor
componentelor variabilei x de tipul COLET. Denumii sugestiv componentele structurii. (6p.)
98.5.Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i
construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin primele n
2
numere naturale pare. Prima linie a tabloului va conine, n ordine cresctoare, valorile 0, 2,.., 2n-2; a
doua linie va conine, n ordine, valorile 2n, 2n+2,.., 4n-2; a treia linie va conine, n ordine, valorile 4n,
4n+2,.., 6n-2, iar ultima linie va conine, n ordine, valorile 2n2-2n, 2n2-2n+2,.., 2n2-2.
Programul afieaz pe ecran matricea construit, cte o linie a matricei
pe cte o linie a ecranului, elementele de pe aceeai linie fiind desprite 0 2 4
prin cte un spaiu. 6 8 10
Exemplu: pentru n=3 se va afia matricea alturat. (10p.) 12 14 16
99.1. Considerm un arbore cu rdcin, n care fiecare nod are cel mult doi descendeni i x un
numr natural (x>2). tiind c rdcina se afl pe nivelul 1, atunci numrul maxim de noduri de pe
nivelul x este: (4p.) a. 2
x
b. 2
x-1
c. 2
x+1
d. 2
x/2

99.2. Considerm variabila x care memoreaz irul de caractere ABAC. Care dintre urmtoarele
instruciuni conduc la afiarea caracterului B? (4p.)
a. cout<<x[strlen(x)-3]; | printf("%c",x[strlen(x)-3]);
b. cout<<x[strlen(x)-1]; | printf("%c",x[strlen(x)-1]);
c. cout<<x[2]; | printf("%c",x[2]);
d. cout<<x[strlen(x)]; | printf("%c",x[strlen(x)]);
99.3. Considerm un graf neorientat cu 5 noduri i 3 muchii format din dou componente conexe.
tiind c doar patru dintre noduri au gradul 1, scriei matricea de adiacen a grafului. (6p.)
99.4. Se consider o coad, n care au fost introduse iniial, n aceast ordine, primele
trei numere impare 1, 3 i 5. Coninutul cozii este reprezentat n figura alturat.

51

Notm cu AD X operaia prin care se adaug informaia X n coad i cu EL operaia prin care se
elimin un element din coad. Asupra cozii se efectueaz, exact n aceast ordine, operaiile EL; AD 4;
AD 6. Reprezentai, dup modelul din figura alturat, coninutul cozii dup fiecare operaie.(6p.)
99.5.Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i
construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin primele n
numere naturale nenule. Prima linie a tabloului va conine, n aceast ordine, valorile 1,2,...,n; a
doua linie va conine, n ordine, valorile 2,2,3,...,n; a treia linie va conine, n ordine, valorile
3,3,3,4,...,n, iar ultima linie va conine valorile n, n,..., n. 1 2 3 4 5
Programul afieaz pe ecran matricea construit, cte o linie a matricei 2 2 3 4 5
pe cte o linie a ecranului, elementele fiecrei linii fiind desprite prin 3 3 3 4 5
cte un spaiu. 4 4 4 4 5
Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 5 5 5 5 5
100.1. Se consider graful neorientat cu 5 noduri a crui matrice de adiacen are toate elementele 1,
cu excepia celor de pe diagonala principal, care sunt nule. Care este numrul minim de muchii care
pot fi eliminate astfel nct graful parial obinut s fie format din 3 componente conexe? (4p.)
a. 4 b. 8 c. 6 d. 7
100.2.Se consider lista simplu nlnuit memorat static, n tabloul de mai jos, n care fiecrui nod al
listei i corespunde cte o coloan a tabloului: pe prima linie se memoreaz informaia din nodul
respectiv, iar pe a doua linie se memoreaz indicele coloanei din tablou la care se afl nodul urmtor din
list, sau -1 dac nu exist un nod urmtor. Ce informaii se afieaz
la parcurgerea nodurilor n ordinea n care apar n list, dac primul
nod este memorat n coloana 1? (4p.)

a. 1,3,5,7 b. 1,3,2,5,7 c. 1,5,7 d. 1,4,5,3,7
100.3. Se consider arborele cu 6 noduri, numerotate de la 1 la 6, cu muchiile [2,1], [2,4], [4,5],
[6,2], [6,3]. Scriei toate nodurile desemnate ca rdcin astfel nct fiecare arbore cu rdacin
obinut s aib exact 3 frunze. (6p.)
100.4. Se consider declararea char e[20]=51+73; Care este irul memorat de variabila e
dup executarea instruciunii de mai jos?
strcpy(e,e+strlen(e)-1); (6p.)
100.5.Scriei un program C/C++ care citete de la tastatur un numr natural n (1n100)i apoi
elementele unui tablou bidimensional cu n linii i n coloane, care memoreaz numere naturale cu cel
mult 9 cifre fiecare; programul afieaz pe ecran acele valori din tablou care sunt strict mai mici dect
toate elementele cu care se nvecineaz direct (aflate pe aceeai linie dar pe o coloan alturat sau pe
aceeai coloan dar pe o linie alturat), ca n exemplu. Numerele afiate vor fi separate prin cte un
spaiu.
Exemplu: pentru n=4 i tabloul alturat se afieaz numerele: 2 0 (2
se nvecineaz direct cu 4, 3, 6 i 9, i este mai mic dect acestea,
iar 0 se nvecineaz direct cu 6, 9 i 1 i este mai mic dect
acestea). (10p.)
5 4 7 9
6 2 3 4
0 9 8 5
1 3 8 6

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