Sunteți pe pagina 1din 12

PROBLEME SIRURI

1. Ce se va afia pe ecran n urma executrii secvenei de program alturate, n care variabila s


memoreaz un ir cu cel mult 10caractere, iar variabila ieste de tip ntreg? (4p.)
i=0;chars[11]="abaemeiut";
cout<<strlen(s);|printf("%d",strlen(s));
while(i<strlen(s))
if(strchr("aeiou",s[i])!=NULL))
{strcpy(s+i,s+i+1);i=i+1;}
else
i=i+2;
cout<<""<<s;

2. Ce se va afia n urma executrii secvenei de program alturate tiind c variabila a memoreaz un


ir cu cel mult 100de caractere, iar variabilele ii ksunt de tip ntreg? (6p.)
k=aA;
strcpy(a,clasaaXIIaA);
cout<<a<<endl;|printf(%s\n,a);
for(i=0;i<strlen(a);i++)
if(a[i]>=a&&a[i]<=z)a[i]=a[i]k;
cout<<a;

3. Ce se va afia n urma executrii secvenei de program alturate tiind c variabila amemoreaz un


ir cu cel mult 100de caractere, iar variabila i este de tip ntreg ? (6p.)
strcpy(a,bacalaureat);
cout<<strlen(a)<<endl;|printf(%d\n,strlen(a));
for(i=0;i<strlen(a);i++)
if(strchr(aeiou,a[i])!=0)
cout<<*;

4. n secvena de program alturat, variabila amemoreaz un ir cu cel mult 100de caractere,


iar variabila ieste de tip ntreg. Completai punctele de suspensie din secven astfel nct, n urma
executrii secvenei, aceasta s afieze irul de caractere *nf*rm*t*c*. (6p.)
strcpy(a,informatica);
for(i=0;i<strlen(a);i++)
if(...)
cout<<...;
else
cout<<...;

5. Ce se va afia n urma executrii secvenei de program alturate, tiind c variabila xmemoreaz un


ir cu cel mult 100de caractere, iar variabila i este de tip ntreg ? (6p.)
strcpy(x,bac2009);
cout<<x<<endl;|printf(%s\n,x);
for(i=0;i<strlen(x);i++)
if(strchr(0123456789,x[i])==0)
cout<<x[i];

6. In secvena de program alturat, variabila amemoreaz un ir cu cel mult 100de caractere,iar


variabila ieste de tip ntreg. Completaipunctele de suspensie, astfel nct, n urmaexecutrii
secvenei, s se afieze doar literelemici i literele mari din irul de caracterememorat n variabila a.
strcpy(a,Bac2009iulie);
for(i=0;i<strlen(a);i++)
if(...)
cout<<a[i];

Siruri-1
7. Se consider un text alctuit din cel mult 250de 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: copiii
sunt la zoo se afieaz perechile alturate.(10p.)
ii
ii
oo

8. Scriei un program C/C++care citete de la tastatur dou iruri de caractere formate din maximum
100litere 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 NUEXIST.
Exemplu: pentru irurile marinai elenase va afia na
9. Scriei o secven de instruciuni C/C++care determin, n urma executrii ei, afiarea pe ecran a
mesajului Corectdac un ir de maximum 100caractere, memorat de variabila s, este palindrom
sau mesajul Incorectn caz contrar. Un ir de caractere este palindrom dac citit de la nceput la
sfrit este identic cu irul citit de la sfrit la nceput.
Exemplu: irul de caractere cojoceste palindrom (4p.)

10. Care va fi irul de caractere afiat dup executarea secvenei de program alturate, n care variabila s
memoreaz un ir cu cel mult 5caractere ? (6p.)
chars[]=raton;
s[1]=s[3];
cout<<s;
11. irul de caractere s2este clona irului de caractere s1dac se poate obine din s1prin
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 (dac exist), toate clonele acestui cuvnt,
fiecare pe cte o linie a ecranului.
Exemplu: pentru cuvntul informaticase afieaz, nu neaprat n aceast ordine, clonele scrise
alturat. (10p.)
nformatca
infrmatica
informtic
12. Care va fi irul de caractere afiat pe ecran dup executarea secvenei de program alturate n care
variabila smemoreaz un ir cu cel mult 4 caractere iar variabila tun caracter? (4p.)
chars[]=arac;
t=s[1];s[1]=s[3];
s[3]=t;
cout<<s;
13. Care este valoarea expresiei strlen(s)pentru variabila sde tip ir de caractere,declarat i
iniializat astfel: chars[15]=Proba_E;(4p.)
a. 7b. 15c. 6d. 5

14. Scriei un program C/C++care citete de la tastatur dou caractere c1i c2(litere distincte ale
alfabetului englez), i un text avnd cel mult 250caractere (doar spaii i litere ale alfabetului englez),
pe care l modific nlocuind toate apariiile caracterului memorat n c1cu cel memorat n c2i toate
apariiile caracterului memorat n c2cu 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 c1se citete a, pentru c2se citete oiar textul citit este:
hocuspocuspreparatus
se va afia :
hocuspocuspreparatus
hacuspacuspreporotus

Siruri-2
15. Ce se va afia n urma executrii secvenei alturate, n care variabila cmemoreaz un ir cu cel mult
20de caractere, iar ieste o variabil de tip ntreg? (6p.)
charc[21]="tamara",*p;
for(i=0;i<strlen(c);i=i+1)
{p=strchr(c,'a');
cout<<pc;

16. Ce se va afia n urma executrii secvenei alturate, n care variabila cmemoreaz un ir cu cel mult
20de caractere, iar variabila ieste de tip ntreg? (6p.)
charc[]="tamara";
for(i=0;i<3;i++)
c[i]=c[i+1];
cout<<c;

17. tiind c n urma executrii secvenei alturate s-a afiat succesiunea de caractere EXAMEN, care este
irul de caractere memorat de variabila s? (6p.)
x=strlen(s);
for(i=0;i<x/2;i++)
cout<<s[i]<<s[xi1];
|printf(%c%c,s[i],s[xi1]);
a. ENXAMEb. EAENMXc. NEEXMAd. NEMAXE

18. Un ir cu maximum 255de caractere conine cuvinte separate prin unul sau mai multe spaii.
Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++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: maineesteprobalainformaticase va afia:
MainEEstEProbALAInformaticA(10p.)

19. Considerm c variabila smemoreaz irul de caractere examen. Care va fi valoarea lui sdup
executarea instruciunilor scrise alturat? (4p.)
s[0]=E;
s[strlen(s)1]=A;
s[strlen(s)/21]=N;
s[strlen(s)/2]=M;
a. ExameNb. exAMenc. ExNMeAd. ExAMeN

20. Un ir cu maximum 255de caractere conine cuvinte cuvinte formate numai din litere mici ale
alfabetului englez. Fiecare cuvnt 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.)

21. Ce se afieaz pe ecran n urma executrii secvenei de program scris alturat, n care ieste o
variabil de tip char? (6p.)
for(i='a';i<='z';i++)
if(strchr("info",i))
cout<<i;

22. Scriei programul C/C++care citete de la tastatur un ir de cel mult 40de 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 faravocale.
Exemplu: dac se citete irul calculatoratunci pe ecran se va afia: auao(10p.)

Siruri-3
23. Ce se afieaz pe ecran n urma executrii secvenei de program alturate, unde aeste o variabil
de tip ir de caractere? (6p.)
strcpy(a,"informatica");
strcpy(a+2,a+5);
cout<<a;

24. Ce valoare se va afia pe ecran n urma executrii secvenei de program alturate, tiind c variabila
aeste de tip ir de caractere, iar ieste o variabil de tip ntreg? (6p.)
strcpy(a,"info");
for(i=0;i<strlen(a);i++)
a[i]=a[i]+1;
cout<<a;

25. Scriei programul C/C++care citete de la tastatur un ir de cel mult 40de 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 abbcatunci pe ecran se va afia:
bbc
abc
abc
abb

26. 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 100de 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, ese nlocuiete cu f.a.m.d.). Programul va afia pe ecran irul obinut.
Exemplu: dac irul citit este examendebacalaureat, dup modificare se afieaz:
fxbmfndfbbcblbvrfbt(10p.)

27. Variabila sreine irul de caractere bacalaureat. Ce se afieaz la executarea instruciunii de mai
jos?
cout<<strchr(s,a);|printf(%s,strchr(s,a));(4p.)
a. 2b. acalaureatc. 4d. bcluret

28. In secvena alturat, variabilele s1, s2i s3rein iruri de caractere. Dup executarea acesteia,
variabila ntreag valprimete valoarea 1 dac: (4p.)
if(!(strcmp(s1,s2)||strcmp(s1,s3)))
val=1;
elseval=2;
a. s1, s2, s3rein iruri identice de
caractere
b. s1, s2, s3rein iruri de caractere
ordonate lexicografic
c. s1, s2, s3rein iruri de caractere de
lungimi diferite
d. s1este obinut prin concatenarea irurilor
reinute n s2i s3

29. Un cuvnt s, de cel mult 20caractere, format doar din litere mici ale alfabetului englez, conine cel
puin o consoan i cel puin o vocal. Scriei programul C/C++care citete de la tastatur cuvntul
s, construiete n 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

Siruri-4
30. Scriei programul C/C++care citete de la tastatur un cuvnt sde cel mult 20litere mici ale
alfabetului englez, construiete n memorie i afieaz pe ecran cuvntul sdup eliminarea primei i
a ultimei vocale. Cuvntul sconine cel puin dou vocale i cel puin o consoan. Se consider
vocale literele: a, e, i, o, u.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: bcalauret

31. Se consider un ir savnd maximum 52de caractere, ir ce conine numai litere mici ale
alfabetului englez i cifre. Primul caracter al irului este o liter mic, ultimul caracter al irului este o
cifr i fiecare liter mic din ir este urmat de o cifr nenul. Scriei un program C/C++care citete
de la tastatur irul s, apoi construiete i afieaz pe ecran un nou ir de caractere, format numai din
litere mici ale alfabetului englez, ir construit dup urmtoarea regul: fiecare liter mic se va repeta
de attea ori de cte ori o indic cifra situat pe poziia imediat urmtoare n irul iniial, ca n exemplu.
Exemplu: dac se citete de la tastatur irul a2b1f2atunci irul cerut este aabff

32. Scriei un program C/C++care citete de la tastatur un numr natural nenul n(n100), apoi n
iruri de caractere, fiecare ir avnd maximum 30de caractere, doar litere mici ale alfabetului englez,
i afieaz pe ecran cte dintre cele niruri de caractere sunt formate numai din vocale. Se
consider vocale literele a, e, i, o, u.
Exemplu: dac n=3, iar irurile citite sunt date alturat, atunci
programul va afia pe ecran 1deoarece irul aeeste format
numai din vocale. (10p.)
arc
ae
creion
33. n secvena alturat, variabila xmemoreaz un ir cu cel mult 100decaractere, iar variabila i
este de tip ntreg.Care este numrul maxim de caractere pecare l poate avea irul xastfel nct
secvena alturat s afieze exact 3caractere ale acestuia? (4p.)
for(i=0;i<=strlen(x)1;i=i+3)
cout<<x[i];|printf(%c,x[i]);
a. 7b. 3c. 9d. 8

34. n secvena de program urmtoare, variabila smemoreaz un ir de caractere, iar variabila ieste de
tip ntreg. Ce valoare se va afia n urma executrii secvenei?
strcpy(s,bacalaureat);
i=strchr(s,a)s;
cout<<i+1;

35. n secvena alturat, variabila xmemoreaz un ir de caractere, iar toatecelelalte variabile sunt de
tip ntreg.Ce valori au variabilele k1i k2dupexecutarea secvenei de instruciunialturate?
(6p.)
strcpy(x,bac2009);
k1=strlen(x);
k2=0;
for(i=0;i<strlen(x);i++)
if(x[i]>=0&&x[i]<=9)
k2=k2+1;

36. Scriei un program C/C++care citete de la tastatur un ir de caractere format din maximum 10
caractere, reprezentnd un numr real n care partea ntreag este separat de partea zecimal prin
caracterul punct. Programul afieaz pe ecran valoarea obinut prin adunarea numrului
corespunztor prii ntregi i a numrului corespunztor prii zecimale ale datei citite.
Exemplu: dac se citete de la tastatur irul de caractere 120.456atunci se va afia
576,iar dac se citete de la tastatur irul de caractere 121.090atunci se va afia 130.

37. Se consider mulimea vocalelor {a,e,i,o,u}. Scriei o expresie C/C++care s fie nenul dac i
numai dac variabila cde tip chareste o vocal.

Siruri-5
38. Scriei un program C/C++care citete de la tastatur un ir de cel mult 50de caractere (cifre, litere
ale alfabetului englez i spaii; irul conine cel puin o liter), apoi construiete n memorie i afieaz
pe ecran irul de caractere obinut din irul citit prin eliminarea tuturor caracterelor care nu sunt litere.
Exemplu: dac se citete irul: Voilua10lainformaticaatunci se va afia:
Voilualainformatica

39. Variabila smemoreaz 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)<10b. strlen(s,10)<0
c. leng(s)<10d. s0<10

40. Scriei un program C/C++care citete de la tastatur un ir de cel mult 50de caractere (litere mici i
mari ale alfabetului englez, cifre, puncte, virgule i spaii) i afieaz pe ecran cifra care apare de 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: Voilua9,5lamatematica10lainformaticasi10la
romanaatunci se va afia cifra 0(pentru c cifrele 0i 1apar de cele mai multe ori n ir, iar 0este cea
mai mic dintre ele) (10p.)

41. Scriei un program C/C++care citete de la tastatur un ir de cel mult 50de 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:
mergemlamunte
atunci se va afia: e(pentru c literele ei mapar de cele mai multe ori n ir, iar eeste prima dintre ele n
ordine alfabetic).

42. Care vor fi valorile afiate dup executarea secvenei de program alturate? (4p.)
chars1[20]=algoritm,
s2[20]=bioritm,s3[20]=ritm;
if(strlen(s1)<strlen(s2))
strcat(s3,s1);
else
strcat(s3,s2);
cout<<s1<<<<s2<<<<s3;
a. algoritmritmbioritmritmb. algoritmbioritmritmalgoritm
c. algoritmbioritmritmbioritmd. algoritmbioritmritmritm

43. Scriei un program C/C++care citete de la tastatur un text de cel mult 255de 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. Exemplu: pentru textul: Calculati
valoareaexpresiei
(10p.)
Pe ecran se va afia:
alcutivorexps

44. Se consider variabilele s1i s2de tip ir de caractere. Scriei o secven de instruciuni care, n
urma executrii, afieaz pe ecran cele 2iruri n ordine lexicografic cresctoare, separate printr-un
spaiu.
Exemplu: dac s1reine irul mamai s2reine irul macara, pe ecran se va afia
macaramama

Siruri-6
45. Scriei un program C/C++care citete de la tastatur un text format din cel mult 200de 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 NUEXISTA. Se consider vocal orice liter din
mulimea {a,A,e,E,i,I,o,O,u,U}.
Exemplu: dac textul introdus este: Eratosteneasugeratcaaniibisectiserepetala
fiecarepatruanipe ecran se va afia: 4(10p.)

46. Scriei programul C/C++care citete de la tastatur un cuvnt format din cel mult 50de caractere,
doar 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 kal unui cuvnt este un subir
format din primele kcaractere ale acestuia. (10p.)
Exemplu: dac se citete cuvntul BACALAUREATse vor afia prefixele:
B
BA
BAC
BACA
BACAL
BACALA
BACALAU
BACALAUR
BACALAURE
BACALAUREA
BACALAUREAT
47. Scriei programul C/C++care citete de la tastatur un cuvnt format din cel mult 50caractere, doar
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 kal unui cuvnt este un subir format din
ultimele kcaractere ale acestuia. (10p.)
Exemplu: dac se citete cuvntul EXAMENse vor afia sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN
48. Scriei programul C/C++care citete de la tastatur, separate prin Enter, dou iruri de caractere: un
ir sde maximum 255de caractere, care pot fi litere ale alfabetului englez i spaii, apoi un ir cde
maximum 20de caractere. Programul va nlocui n irul stoate apariiile irului ccu un ir de exact
aceeai lungime efectiv cu c, format doar din caractere *, ca n exemplu. irul sobinut n urma
acestei prelucrri va fi afiat pe ecran. n cazul n care cnu apare n s, programul va afia mesajul NU
APARE.
Exemplu: dac irul Scitit este Dindepartaresevedetareiar ceste tare
atunci pe ecran se va afia: Dindepar****sevede****

49. n secvena alturat, fiecare dintre variabilele xi ssunt de tipul ir de caracter, iar ieste de tip
ntreg.Dac variabilele xi smemoreaz iniial irulabsolvent, ce se va memora n variabila x
n urmaexecutrii secvenei alturate? (4p.)
for(i=0;i<strlen(s);i++)
if(strcmp(x,s+i)<0)
strcpy(x,s+i);
a. ntb. absolventc. solventd. vent
50. Scriei un program C/C++care citete de la tastatur un numr natural n(0<n<101) i apoi n
propoziii. Fiecare propoziie este format din maximum 255de caractere care sunt numai litere mici
ale alfabetului englez i spaii. tiind c fiecare propoziie se termin cu caracterul Enter, s se
afieze pe ecran propoziia care are cele mai puine vocale (sunt considerate vocale caracterele a, e,

Siruri-7
i, o, u). Dac dou sau mai multe propoziii au acelai numr de vocale, se va afia ultima propoziie,
n ordinea citirii, care ndeplinete condiia.
Exemplu: pentru n=4i urmtoarele propoziii:
aziaplouattare
afostinnoratpestetot
mainevafisoare
acumnumaivreausaploua
se va afia: mainevafisoare
51. Ce se va afia n urma executrii secvenei de program de mai jos dac variabila xmemoreaz
cuvntul bacalaureat, iar variabila ymemoreaz cuvntul banal?
if(strcmp(x,y)>0)cout<<x;|printf(%s,x);
else
if(strcmp(x,y)<0)cout<<y;|printf(%s,y);
elsecout<<imposibil;|printf(imposibil);(4p.)
a. imposibilb. bacalaureat
c. banald. bacalaureatimposibil
52. Ce se va afia n urma executrii secvenei de program alturate tiind c ieste o variabil de tip
ntreg, iar variabila xeste de tip ir de caractere? (4p.)
strcpy(x,ExAMeNeNaTiOnALe);
for(i=0;i<strlen(x);i++)
if(x[i]>=A &&x[i]<=N)
x[i]=x[i]+aA;
cout<<x;|printf(%c,x);
a. examenenationaleb. examenenaTiOnale
c. EXAMENENATIONALEd. exAmeNenAtIoNalE
53. Scriei programul C/C++care citete de la tastatur un cuvnt de maximum 20de 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
54. Scriei programul C/C++care citete de la tastatur un text de cel mult 50de 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 ale
fiecrui cuvnt n majuscul, restul caracterelor rmnnd nemodificate.
Exemplu: dac se citete textul aziesteexamendebacalaureat, se va afia AzIEstEExameNDE
BacalaureaT.
55. Scriei programul C/C++care citete de la tastatur un text cu cel mult 100de caractere (doar litere
mici ale alfabetului englez i spaii) i un cuvnt cu cel mult 15caractere, doar litere mici ale
alfabetului englez, i care afieaz pe ecran irul obinut prin inserarea n textul iniial a caracterului ?
dup fiecare apariie a cuvntului citit. Dac n text nu apare cuvntul citit, se va afia mesajul NU
APARE.
Exemplu: dac se citete de la tastatur textulexamenuluiexamenuldebacalaureatsiexamenul
deatestati cuvntul examenulse va afia:
examenuluiexamenul?debacalaureatsiexamenul?deatestat

56. Scriei programul C/C++care citete de la tastatur un text cu cel mult 100de caractere (doar 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

Siruri-8
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 Examenuldebacalaureatse va obine i afia:
E*xa*me*nu*lde*ba*ca*la*u*re*a*t. (10p.)
57. Scriei programul C/C++care citete de la tastatur un cuvnt cu cel puin una i cel mult 20de
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 Marmoratse va obine i afia cuvntul aarmorMt
58. Un ir de caractere se numete palindrom dac irul citit de la stnga la dreapta este identic cu irul
citit de la dreapta spre stnga. Care dintre urmtoarele expresii C/C++are valoarea 1dac i numai
dac irul de caractere memorat n variabila s,avnd exact 3caractere, este palindrom? (4p.)
a. s[0]==s[1]b. s[1]==s[2]c. s[0]==s[2]d. s[1]==s[3]
59. tiind c variabila ieste de tip ntreg i c variabila sreine irul de caractere barba, ce se va afia
la executarea secvenei alturate? (6p.)
for(i=0;i<strlen(s);i++)
if(s[i]==b)
s[i]=t;
cout<<s;
60. tiind c variabila ieste de tip ntreg i variabila sreine un ir de caractere, ce se va afia la
executarea secvenei alturate? (4p.)
strcpy(s,bac2009);
for(i=0;i<strlen(s);i++)
if(s[i]<0||s[i]>9)
cout<<s[i];
a. bac2009b. 2009c. bacd. 2009bac
b.
61. Ce valoare are variabila sde tip ir de caractere dup executarea instruciunilor de mai jos?
strncpy(s,strstr(examen,am),4);s[4]='\0';(4p.)
a. amenb. examc. mennd. men
62. Ce valoare are variabila sde tip ir de caractere dup executarea instruciunilor de mai jos?
strncpy(s,strstr("Informatica","form"),strlen("BAC08"));s[5]='\0';
(4p.)
a. formb. forma
c. InfoBACd. Infor

63. Ce valoare are variabila sde tip ir de caractere dup executarea instruciunii de mai jos?
s=strcat(strstr("bacalaureat","bac")+strlen("2009"),"09");(4p.)
a. BAC2009b. laureat09c. Bac200909d. aur2009

64. Ce valoare are variabila sde tip ir de caractere dup executarea instruciunilor de mai jos?
strncpy(s,strstr("informatica","form"),strlen("BAC009"));
s[6]='\0';(4p.)
a. formatb. informatc. informd. informBAC

65. Ce memoreaz variabila s, de tip ir de caractere, dup executarea instruciunilor de mai


jos?
strncpy(s,"informatica",strlen("2009"));
s[strlen("2009")]='\0';
strcat(s,"BAC");(4p.)
a. infob. infoBACc. BACinfod. InformaticaBAC

66. Ce se va afia n urma executrii secvenei alturate de program, n care variabila cmemoreaz un
ir cu cel mult 20de caractere, iar variabila ieste de tip ntreg?
charc[]="abracadabra";
i=6;
Siruri-9
cout<<c[i]<<c[i+1]<<endl;
|printf(%c%c\n,c[i],c[i+1]);
while(i>=0)
{cout<<c[i];|printf(%c,c[i]);
i=i1;}

67. Variabila seste de tip ir de caractere, iar variabilele c1i c2sunt de tip char. Care expresie are
valoarea 1dac i numai dac irul de caractere sconine caracterele memorate de variabilele c1
i c2? (6p.)
a. strstr(s,c1+c2)!=0b. strchr(s,c1)!=0||strchr(s,c2)!=0
c. strchr(strchr(s,c1),c2)!=0d. strchr(s,c1)*strchr(s,c2)!=0
68. Un ir de caractere sse numete ablon pentru un alt ir de caractere x, dac este format din
caractere din mulimea {*,?,#}, are aceeai lungime cu xi pe fiecare poziie din sn care apare
*n xse gsete o vocal, pe fiecare poziie din sn care apare #n xse gsete o consoan i
pe fiecare poziie din sn 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 200de litere mici ale alfabetului englez, i
afieaz pe ecran, un ablon comun celor dou iruri citite, care conine un numr minim de caractere
?.
Exemplu: pentru irurile diamanti pierdutse afieaz #**#??#

69. 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: PopescuVasile
se va construi i apoi se va afia pe ecran irul
VasilePopescu

70. 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: popescuvasile
se va construi i apoi se va afia pe ecran irul v.popescu(10p.)

71. Scriei un program n limbajul C/C++care citete de la tastatur dou iruri, formate fiecaredin cel
mult 20de 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
VslPopescu(10p.)

72. Se consider variabila scare memoreaz irul de caractere CARACATITA. Ce valoare va avea s
dup executarea instruciunii de mai jos?
strcpy(s,strstr(s,"TI"));

73. Ce se va afia n urma executrii secvenei de program alturate, considernd c aeste o variabil
de tip ir de caractere, iar io variabil de tip ntreg? (4p.)
chara[10]="Examen";

Siruri-10
for(i=0;i<=2;i++)
strcpy(a+i,a+i+1);
cout<<a;|printf("%s",a);
a. xmnb. Eaec. mend. Examen

Structuri

Fiecare dintre variabilele ai b, declarate alturat, memoreaz simultan coordonatele reale ale cte unui
punct n planul xOy.
structpunct{
floatx,y;}a,b;

74. Completai punctele de suspensie din secvena urmtoare de program, astfel nct, n urma executrii
ei, s se afieze cuvntul DAdac dreapta, determinat de punctele cu coordonatele memorate n
variabilele ai b,este paralel cu axa Ox, respectiv cuvntul NU n caz contrar.
if()cout<<DA;|printf(DA);
elsecout<<NU|printf(NU);(6p.)

75. 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 20caractere)
i anul fabricaiei (numr natural format din exact 4cifre), astfel nct expresia C/C++de mai jos s
aib ca valoare vechimea mainii ale crei caracteristici sunt memorate n variabila x.
2008x.anul_fabricatiei

76. n declararea alturat, cmpurile ai bale 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 fse
simplific prin numrul natural nenul kse afieaz mesajul DA?
if()cout<<DA;|printf(DA);(6p.)
structrap
{inta,b;}f;
intk;

77. n declararea alturat variabila areine n cmpurile xi ycoordonatele unui punct n planul xOy.
Care este expresia a creivaloare reprezint distana punctului respectiv fa de origineaaxelor de
coordonate? (6p.)
structpunct
{floatx,y;
}a;

78. Variabila x, declarat alturat, memoreaz n cmpurile med1i med2mediile semestriale ale unui
elev. Scriei o expresie a crei valoare va fi media anual a acestui elev. (6p.)
structelev{
intmatricol;
floatmed1,med2;
}x;

79. 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? (4p.)
structelev{
charnume[10],prenume[20];
floatmedie;
}p;

Siruri-11
a. p.nume[1]b. p.nume[0]
c. p.numed. nume[1]

80. n declararea alturat, variabila pmemoreaz n cmpul xabscisa, iar n cmpul yordonata unui
punct din planul xOy.Dac punctul se afl n interiorul suprafeei dreptunghiularedeterminate de
punctele A(1,1), B(4,1), C(4,3), D(1,3), caredintre expresiile de mai jos are valoarea 1? (4p.)
struct
{floatx;
floaty;}p;
a. (p.x>1)&&(p.x<4)&&(p.y>1)&&(p.y<3)
b. (x.p>1)&&(x.p<4)&&(y.p>1)&&(y.p<3)
c. (p.x>1)&&(p.x<4)||(p.y>1)&&(p.y<3)
d. (p(x)>1)&&(p(x)<4)||(p(y)>1)&&(p(y)<3)

81. n declararea alturat, variabila pmemoreaz n cmpul xabscisa, iar n cmpul yordonata unui
punct din planul xOy.Dac punctul se afl n semiplanul din dreapta axei Oy(dar nupe aceast ax),
care dintre expresiile de mai jos are valoarea1? (4p.)
struct
{
floatx;
floaty;
}p;

82. Tipul de date structurat COLETpermite 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 30de caractere. Scriei n
limbajul C/C++o declarare pentru tipul de date COLETi o secven de instruciuni care permite
citirea valorilor componentelor variabilei xde tipul COLET. Denumii sugestiv componentele tipului de
date COLET.

83. Considerm variabila xcare memoreaz irul de caractere ABAC. Care dintre urmtoarele instruciuni
conduc la afiarea caracterului B? (4p.)
a. cout<<x[strlen(x)3];
b. cout<<x[strlen(x)1];
c. cout<<x[2];
d. cout<<x[strlen(x)];

84. Se consider declararea chare[20]=51+73;Care este irul memorat de variabila edup


executarea instruciunii de mai jos?
strcpy(e,strchr(e,+)+2);

Siruri-12