Sunteți pe pagina 1din 6

1 Ce afieaz pe ecran secvena de program

scris alturat, n care i este o variabil de


tip char?
for (i='a';i<='z';i++)
if (strchr("info",i))
cout<<i; | printf("%c",i);
2.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. irul citit conine cel puin o vocal i se
consider ca fiind vocale urmtoarele litere: a, e, i, o, u.
Exemplu: dac se citete irul calculator atunci pe ecran se va afia: a u a o
3.Ce afieaz pe ecran secvena alturat de
program, unde a este o variabil de tip ir de
caractere?
strcpy(a,"informatica");
strcpy(a+2,a+5);
cout<<a; | printf("%s",a);

4. Ce valoare se va afia pe ecran n urma executrii


secvenei de program alturate, tiind c variabila
a este de tip ir de caractere, iar i este o variabil
de tip ntreg?
strcpy(a,"info");
for(i=0;i<strlen(a);i++)
a[i]=a[i]+1;
cout<<a; | printf("%s",a);

5.Se consider un ir s avnd maximum 52 de 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 a2b1f2 atunci irul cerut este aabff
6.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 30 de litere mici ale alfabetului englez
i afieaz pe ecran cte dintre cele n iruri 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 1 deorece irul ae este format
numai din vocale. (10p.)
arc
ae
creion
7. n secvena de mai jos, variabila s memoreaz un ir de caractere, iar variabila i este de tip

ntreg. Ce valoare se va afia n urma executrii secvenei urmtoare?


strcpy(s,bacalaureat);
i=strchr(s,a)-s;
cout<<i+1; | printf(%d,i+1);
8.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.
9. 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.
10. Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de 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: Voi lua 10 la informatica atunci se va afia:
Voilualainformatica
11. Variabila s memoreaz un ir de caractere. Care dintre urmtoarele expresii C/C++ este
nenul dac i numai dac lungimea 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

12. 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.)

13. Care vor fi valorile afiate dup


executarea secvenei alturate, dac
variabilele s1, s2 i s3 sunt de tip ir de
caractere?
char s1[20]=algoritm,
s2[20]=bioritm,s3[20]=ritm;
if (strlen(s1)< strlen(s2))
strcat(s3,s1);
else
strcat(s3,s2);
printf(%s %s %s,s1,s2,s3);
cout<<s1<< <<s2<< <<s3;
a. algoritmritm bioritm ritm
b. algoritm bioritm ritmalgoritm
c. algoritm bioritm ritmbioritm d. algoritm bioritmritm ritm
14. 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.
Exemplu: pentru textul:

Calculati valoarea expresiei


Pe ecran se va afia:
alcutivorexps

15. Se consider variabilele s1 i s2 de tip ir de caractere. Scriei secvena de instruciuni care


afieaz pe ecran cele 2 iruri n ordine lexicografic cresctoare, separate printr-un spaiu.
Exemplu: dac s1 reine irul mama i s2 reine irul macara, pe ecran se va afia
macara mama
16. 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
17. 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
18. Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50
caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate sufixele acestuia, n ordine cresctoare a lungimilor. Un sufix de lungime k al unui
cuvnt este un subir format din ultimele k caractere ale acestuia. (10p.)
Exemplu: dac se citete cuvntul EXAMEN se vor afia sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN
19. Scriei programul C/C++ care citete de la tastatur, separate prin Enter, dou iruri de
caractere: un ir s de maximum 255 de caractere, care pot fi litere ale alfabetului englez i
spaii, apoi un ir c de maximum 20 de caractere. Programul va nlocui n irul s toate
apariiile irului c cu un ir de exact aceeai lungime cu c, format doar din caractere *, ca n
exemplu. irul s obinut n urma acestei prelucrri va fi afiat pe ecran. n cazul n care c nu
apare n s, programul va afia mesajul NU APARE.
Exemplu: dac irul S citit este Din departare se vede tare iar c este tare
atunci pe ecran se va afia: Din depar**** se vede ****

20. 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 255 de 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, 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 = 4 i urmtoarele propoziii:
azi a plouat tare
a fost innorat peste tot
maine va fi soare
acum nu mai vreau sa ploua
se va afia: maine va fi soare
21. Ce se va afia n urma executrii secvenei de program de mai jos dac variabila x
memoreaz cuvntul bacalaureat, iar variabila y memoreaz cuvntul banal?
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
c. banal

b. bacalaureat
d. bacalaureatimposibil

22. Ce se va afia n urma executrii secvenei


de program alturate tiind c i este o
variabil de tip ntreg, iar variabila x este de
tip ir de caractere?
strcpy(x, ExAMeNe NaTiOnALe);
for(i = 0; i < strlen(x); i++)
if(x[i] >= A && x[i] <=N)
x[i] = x[i] + a-A;
cout << x; | printf(%c, x);
a. examene nationale
c. EXAMENE NATIONALE

b. examene naTiOnale
d. exAmeNe nAtIoNalE

23. Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de 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 literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dac se citete de la tastatur textul Examenul de bacalaureat se va obine
i afia: E*xa*me*nu*l de* ba*ca*la*u*re*a*t.
24. Scriei programul C/C++ care citete de la tastatur un cuvnt cu maximum 20 de litere i
minimum o liter, construiete i afieaz pe ecran cuvntul obinut din inversarea literelor
din prima jumtate a cuvntului cu cele din jumtatea a doua. Literele din fiecare jumtate
i pstreaz ordinea din cuvntul iniial, ca n exemplu. n cazul n care cuvntul are un
numr impar de litere, atunci litera din mijloc va rmne pe loc.
Exemplu: dac se citete cuvntul caiet se va obine cuvntul etica, iar dac se citete
cuvntul cada se va obine daca.
25. Variabila s reine un ir de caractere format din cel puin 2 i cel mult 30 de litere mici ale
alfabetului englez. Scriei secvena de program C/C++ care afieaz pe ecran primul i
ultimul caracter al irului s.

26. 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
27. 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
28. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos?
s=strcat(strstr("bacalaureat", "bac")+ strlen("2008"),"08"); (4p.)
a. BAC2008 b. laureat08
c. Bac200808 d. aur2008
29. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai
jos?
s=strncpy(s,strstr("informatica","form"),strlen("BAC008"));
s[6]='\0'; (4p.)
a. format
b. informat
c. inform d. informBAC
30.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
31. 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
32. Un ir de caractere s se numete ablon pentru un alt ir de caractere x, dac este
format din caractere din mulimea {*, ?,#}, are aceeai lungime cu x i pe fiecare poziie
din s n care apare * n x se gsete o vocal, pe fiecare poziie din s n care apare #
n x se gsete o consoan i pe fiecare poziie din s n care apare ? putem avea
orice caracter n x. Se consider vocal orice liter din mulimea {a,e,i,o,u}.
Scriei programul C/C++ care citete de la tastatur dou iruri de caractere, de aceeai
lungime, formate din cel mult 200 de litere mici ale alfabetului englez, i afieaz pe ecran,
un ablon comun celor dou iruri citite, care conine un numr minim de caractere ?.
Exemplu: pentru irurile diamant i pierdut se afieaz #**#??#
33. 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

34. 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
35. 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
36. 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"));
37. Ce se va afia n urma executrii secvenei de
program alturate, considernd c s este o
variabil ir de caractere, iar i o variabil de
tip ntreg? (4p.)
char a[10]="Examen";
for (i=0;i<=2;i++)
strcpy(a+i,a+i+1);
cout<<a; | printf("%s",a);
a. xmn
b. Eae
c. men d. Examen
38. 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)]);
39. Se consider declararea char e[20]=51+73; Care este irul memorat de variabila e
dup executarea instruciunii de mai jos?
strcpy(e,strchr(e,+)+2);