Sunteți pe pagina 1din 21

iruri de Caractere Variante 2009

BAC 2009 iruri de Caractere

S se scrie un program C/C++ care citete de la tastatur un cuvnt format din


cel mult 20 de caractere, doar litere mici ale alfabetului englez. Programul
determin transformarea cuvntului citit prin nlocuirea fiecrei vocale a
cuvntului, cu un ir format din dou caractere i anume vocala respectiv
urmat de litera mare corespunztoare, restul literelor nemodificndu-se, ca n
exemplu. Programul afieaz pe ecran cuvntul obinut, pe o singur linie. Se
consider vocale literele din mulimea {a,e,i,o,u}.
Exemplu: pentru cuvntul bacalaureat se va afia pe ecran:
baAcaAlaAuUreEaAt

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
eied*eael* scriei care este irul de caractere memorat de variabila s.
n=strlen(s);
for(i=0;i<n;i++)
if (s[i]==e) cout<<*;
else cout<<'e'<<s[i];

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 eliminarea tuturor literelor mici din irul s i apoi afiarea irului
obinut.
i=0;
while (i<strlen(s))
...............
cout<<s;

Fie s o variabil ce memoreaz un ir de caractere, c o variabil de tip char, iar i


i j dou variabile de tip int. Scriei instruciunile ce pot nlocui punctele de
suspensie din secvena de program alturat astfel nct executarea ei s
determine modificarea coninutul irului s prin interschimbarea caracterelor aflate
pe poziii simetrice fa de mijlocul irului (primului character cu ultimul, al doilea
cu penultimul, etc).

1
iruri de Caractere Variante 2009

i=0;
j=strlen(s)-1;
while (i<j)
{
.........
}

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

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 apoi determin transformarea
acestuia, eliminnd numai ultima consoan care apare n text, ca n exemplu.
Programul va afia pe ecran textul obinut.
Exemplu: dac de la tastatur se introduce textul: mare frig saci pe ecran se va
afia: mare frig sai

Ce se afieaz n urma executrii secvenei de program alturate dac variabila


s memoreaz irul de caractere abcdefgh?
strcpy(s+2,s+4);
cout<<s<< <<strlen(s);

Se consider declararea de mai jos:


char s[50], x[50];
Ce se afieaz n urma executrii secvenei de program scris alturat dac
variabila s memoreaz irul abcdefg?
strcpy(x,s+4);
strcpy(s+4,123);
strcat(s,x);
cout<<s;

2
iruri de Caractere Variante 2009

Ce se va afia n urma executrii secvenei de instruciuni alturate dac


variabila s memoreaz irul de caractere abbacdde, iar variabila i este de tip
ntreg?
i=0;
while (i<strlen(s)-1)
if (s[i]==s[i+1])
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<s;

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?
strcpy(s,abracadabra);
i=0;
cout<<strlen(s);
while (i<strlen(s))
if (s[i]=='a')
strcpy(s+i,s+i+1);
else
i=i+1;
cout<< <<s;

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.
char s[13]="informatica";
cout<<strlen(s);
for (i=0;i<strlen(s);i++)
if (strchr("aeiou",s[i])!=NULL)
s[i]= '*';
cout<<" "<<s;

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.
char s[13]="abcdefghoid";
i=0;
cout<<strlen(s);
while (i<strlen(s))
if (strchr("aeiou",s[i])!=NULL)
strcpy(s+i,s+i+1);

3
iruri de Caractere Variante 2009

else
i++;
cout<<" "<<s;

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 i j
sunt de tip ntreg?
char s[11]="abcduecda";
cout<<strlen(s);
i=0;
j=strlen(s)-1;
while (i<j)
if (s[i]==s[j])
{
strcpy(s+j,s+j+1);
strcpy(s+i,s+i+1); j=j-2;
}
else
{
i=i+1;
j=j-1;
}
cout<<" "<<s;

Ce se va afia 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?
i=0;
char s[11]="abaemeiut";
cout<<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;

Ce se va afia n urma executrii secvenei de program alturate tiind c


variabila a memoreaz un ir cu cel mult 100 de caractere, iar variabilele i i k
sunt de tip ntreg?

4
iruri de Caractere Variante 2009

k=a-A;
strcpy(a,clasa a-XII-a A);
cout<<a<<endl;
for(i=0;i<strlen(a);i++)
if(a[i]>=a&& a[i]<=z) a[i]=a[i]-k;
cout<<a;

Ce se va afia n urma executrii secvenei de program alturate tiind c


variabila a memoreaz un ir cu cel mult 100 de caractere, iar variabila I este de
tip ntreg ?
strcpy(a,bacalaureat);
cout<<strlen(a)<<endl;
for(i=0;i<strlen(a);i++)
if(strchr(aeiou,a[i])!=0)
cout<<*;

n secvena de program 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, n urma executrii secvenei, aceasta s afieze irul
de caractere *nf*rm*t*c*.
strcpy(a,informatica);
for(i=0;i<strlen(a);i++)
if(...)
cout<<...;
else
cout<<...;

Ce se va afia n urma executrii secvenei de program alturate, tiind c


variabila x memoreaz un ir cu cel mult 100 de caractere, iar variabila I este de
tip ntreg ?
strcpy(x,bac2009);
cout<<x<<endl;
for(i=0;i<strlen(x);i++)
if (strchr(0123456789,x[i])==0)
cout<<x[i];

In secvena de program 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, n urma executrii secvenei, s se afieze doar literele mici i
literele mari din irul de caractere memorat n variabila a.
strcpy(a,Bac 2009 iulie);
for(i=0;i<strlen(a);i++)

5
iruri de Caractere Variante 2009

if(...)
cout<<a[i];

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: copiii*sunt*la***zoo se afieaz perechile
alturate.

Ce valoare are expresia de mai jos dac variabila s memoreaz irul de


caractere alfabet?
strlen(strcpy(s,s+2))

Care din urmtoarele expresii are valoarea 1 dac i numai dac irul de
caractere s, format din exact 10 caractere, este obinut prin concatenarea a dou
iruri identice?
a. strcmp(s,s+5)==0
b. s==strstr(s,s+5)
c. s==s+5
d. strcmp(s,strcat(s,s+5))==0

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 suffix comun al celor dou iruri de caractere. Dac cele dou iruri
nu au niciun sufix comun, atunci programul va afia pe ecran mesajul NU
EXISTA.
Exemplu: pentru irurile marina i elena se va afia na

Scriei o secven de instruciuni C/C++ care determin, n urma executrii ei,


afiarea pe ecran a mesajului Corect dac un ir de maximum 100 caractere,
memorat de variabila s, este palindrom sau mesajul Incorect n 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 cojoc este palindrome

Care va fi irul de caractere afiat dup executarea secvenei de program


alturate, n care variabila s memoreaz un ir cu cel mult 5 caractere ?
char s[]=RATON;

6
iruri de Caractere Variante 2009

s[1]=s[3];
cout<<s;

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 (dac exist), 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.
nformatca
infrmatica
informtic

Care va fi irul de caractere afiat pe ecran dup executarea secvenei de


program alturate n care variabila s memoreaz un ir cu cel mult 4 caractere
iar variabila t un caracter?
char s[]=arac;
t=s[1];
s[1]=s[3];
s[3]=t;
cout<<s;

Care este valoarea expresiei strlen(s) pentru variabila s de tip ir de caractere,


declarat i iniializat astfel: char s[15]=Proba_E;
a. 7
b. 15
c. 6
d. 5

Se consider o list liniar simplu nlnuit alocat dinamic n care fiecare nod
memoreaz n cmpul info un cuvnt format din cel mult 20 de caractere, doar
litere mari ale alfabetului englez, iar n cmpul urm, adresa urmtorului nod al
listei sau NULL dac nu exist un element urmtor. Scriei un program C/C++
care citete de la tastatur un numr natural n (n100) i apoi n cuvinte distincte,
fiecare cuvnt fiind format din cel mult 20 de caractere, doar litere mari ale
alfabetului englez, i construiete o list simplu nlnuit, cu acele cuvinte citite,
care ncep i se termin cu aceeai liter. Cuvintele se vor memora n list n
ordine invers citirii lor. Programul va afia pe ecran cuvintele din list, n linie,
separate prin cte un spaiu.

7
iruri de Caractere Variante 2009

Exemplu: pentru n=9 i cuvintele citite:


URSUZU IRI E SUPARAT POP DORIS SI ANA CITESC
lista va fi:

Scriei un program C/C++ care citete de la tastatur dou caractere c1 i c2


(litere distincte ale alfabetului englez), i un text avnd cel mult 250 caractere
(doar 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.
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

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?
char c[21]="tamara",*p;
for(i=0;i<strlen(c);i=i+1)
{
p=strchr(c,'a');
cout<<p-c;
}

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?
char c[]="tamara";
for(i=0;i<3;i++)
c[i]=c[i+1];
cout<<c;

tiind c n urma executrii secvenei alturate s-a afiat succesiunea de


caractere EXAMEN, care este irul de caractere memorat de variabila s?
x=strlen(s);
for (i=0;i<x/2;i++)
cout<<s[i]<<s[x-i-1];
a. ENXAME
b. EAENMX
c. NEEXMA
d. NEMAXE

8
iruri de Caractere Variante 2009

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 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: maine este proba la informatica se va afia:
MainE EstE ProbA LA InformaticA

Considerm c variabila s memoreaz irul de caractere examen. Care va fi


valoarea lui s dup executarea instruciunilor scrise alturat?
s[0]= E;
s[strlen(s)-1]= A;
s[strlen(s)/2-1]= N;
s[strlen(s)/2]= M;
a. ExameN
b. exAMen
c. ExNMeA
d. ExAMeN

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 ca fiind vocale urmtoarele litere: a, e, i, o, u.
Exemplu: pentru irul: maine este proba la informatica se va afia:
maine etse proba la acitamrofni

Un ir cu maximum 255 de 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**

Ce se afieaz pe ecran n urma executrii secvenei 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;

9
iruri de Caractere Variante 2009

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.
Exemplu: dac se citete irul calculator atunci pe ecran se va afia: a u a o

Ce se afieaz pe ecran n urma executrii secvenei de program alturate, unde


a este o variabil de tip ir de caractere?
strcpy(a,"informatica");
strcpy(a+2,a+5);
cout<<a;

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;

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

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

10
iruri de Caractere Variante 2009

Variabila s reine irul de caractere bacalaureat. Ce se afieaz la executarea


instruciunii de mai jos?
cout<<strchr(s,a);
a. 2
b. acalaureat
c. 4
d. bcluret

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

Un cuvnt s, de cel mult 20 caractere, 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

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 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

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.

11
iruri de Caractere Variante 2009

Exemplu: dac se citete de la tastatur irul a2b1f2 atunci irul cerut este aabff

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 caractere,
doar 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 deoarece irul ae este format numai din vocale.
arc
ae
creion

n secvena alturat, variabila x memoreaz un ir cu cel mult 100 de caractere,


iar variabila i este de tip ntreg. Care este numrul maxim de caractere pe care l
poate avea irul x astfel nct secvena alturat s afieze exact 3 caractere ale
acestuia?
for(i=0;i<=strlen(x)-1;i=i+3)
cout<<x[i];
a. 7
b. 3
c. 9
d. 8

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?
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;

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.456 atunci se va
afia 576, iar dac se citete de la tastatur irul de caractere 121.090 atunci se
va afia 130.

12
iruri de Caractere Variante 2009

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.

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.

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

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?
a. strlen(s)<10
b. strlen(s,10)<0
c. leng(s)<10
d. s-0<10

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?
a. s-2==0
b. strlen(s,2)=0
c. leng(s)%2
d. strlen(s)%2==0;

Care vor fi valorile afiate dup executarea secvenei de program alturate?


char s1[20]=algoritm, s2[20]=bioritm,s3[20]=ritm;
if (strlen(s1)< strlen(s2))
strcat(s3,s1);
else
strcat(s3,s2);
cout<<s1<< <<s2<< <<s3;

13
iruri de Caractere Variante 2009

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: a l c u t i v o r e x p s

Se consider variabilele s1 i s2 de tip ir de caractere. Scriei o secven de


instruciuni care, n urma executrii, 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

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

Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult
50 de 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 k al unui cuvnt este un subir format din primele k
caractere ale acestuia.
Exemplu: dac se citete cuvntul BACALAUREAT se vor afia prefixele:
B
BA
BAC
BACA
BACAL
BACALA
BACALAU
BACALAUR
BACALAURE
BACALAUREA
BACALAUREAT

14
iruri de Caractere Variante 2009

Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult
50 caractere, 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 k al unui cuvnt este un subir format din ultimele k caractere
ale acestuia.
Exemplu: dac se citete cuvntul EXAMEN se vor afia sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN

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
efectiv 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 ****

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

Ce se va afia n urma executrii secvenei de program de mai jos dac variabila


memoreaz cuvntul bacalaureat, iar variabila y memoreaz cuvntul banal?
if(strcmp(x, y) > 0)
cout << x;
else

15
iruri de Caractere Variante 2009

if(strcmp(x,y) < 0)
cout << y;
else
cout << imposibil;
a. imposibil
b. bacalaureat
c. banal
d. bacalaureatimposibil

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;
a. examene nationale
b. examene naTiOnale
c. EXAMENE NATIONALE
d. exAmeNe nAtIoNalE

Scriei programul C/C++ care citete de la tastatur un cuvnt de maximum 20


de litere i minimum o liter i afieaz pe ecran cuvntul citit precum i 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. Cuvntul iniial i 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

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 ale fiecrui cuvnt n
majuscul, restul caracterelor rmnnd nemodificate.
Exemplu: dac se citete textul azi este examen de bacalaureat, se va afia
AzI EstE ExameN DE BacalaureaT.

16
iruri de Caractere Variante 2009

Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de
caractere (doar litere mici ale alfabetului englez i spaii) i un cuvnt cu cel mult
15 caractere, 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 textul examenului examenul de
bacalaureat si examenul de atestat i cuvntul examenul se va afia:
examenului examenul? de bacalaureat si examenul? de atestat

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. 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
obine i afia: E*xa*me*nu*l de* ba*ca*la*u*re*a*t.

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

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 1 dac i numai dac irul de caractere memorat n
variabila s, avnd exact 3 caractere, este palindrom?
a. s[0]==s[1]
b. s[1]==s[2]
c. s[0]==s[2]
d. s[1]==s[3]

tiind c variabila i este de tip ntreg i variabila s reine un ir de caractere, ce


se va afia la executarea secvenei alturate?
strcpy(s,bac2009);

17
iruri de Caractere Variante 2009

for(i=0;i<strlen(s);i++)
if(s[i]<0||s[i]>9)
cout<<s[i];
a. bac2009
b. 2009
c. bac
d. 2009bac

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.

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.

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';
a. amen
b. exam
c. menn
d. men

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';
a. form
b. forma
c. InfoBAC
d. Infor

Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de


mai jos?
s=strcat(strstr("bacalaureat", "bac")+ strlen("2009"),"09");
a. BAC2009
b. laureat09
c. Bac200909
d. aur2009

18
iruri de Caractere Variante 2009

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';
a. format
b. informat
c. inform
d. informBAC

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. info
b. infoBAC
c. BACinfo
d. InformaticaBAC

Ce se va afia n urma executrii secvenei alturate de program, n care


variabila c memoreaz un ir cu cel mult 20 de caractere, iar variabila i este de
tip ntreg?
char c[]="abracadabra";
i=6;
cout<<c[i]<<c[i+1] <<endl;
while (i>=0)
{
cout<<c[i];
i=i-1;
}

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?
a. strstr(s,c1+c2)!=0
b. strchr(s,c1)!=0 || strchr(s,c2)!=0
c. strchr(strchr(s,c1),c2)!=0
d. (strchr(s,c1)!=0)*(strchr(s,c2)!=0)

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

19
iruri de Caractere Variante 2009

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 #**#??#

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

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

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

20
iruri de Caractere Variante 2009

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"));

Ce se va afia n urma executrii secvenei de program alturate, considernd c


a este o variabil de tip ir de caractere, iar i o variabil de tip ntreg?
char a[10]="Examen";
for (i=0;i<=2;i++)
strcpy(a+i,a+i+1);
cout<<a;
a. xmn
b. Eae
c. men
d. Examen

Considerm variabila x care memoreaz irul de caractere ABAC. Care dintre


urmtoarele instruciuni conduc la afiarea caracterului B?
a. cout<<x[strlen(x)-3];
b. cout<<x[strlen(x)-1];
c. cout<<x[2];
d. cout<<x[strlen(x)];

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);

21

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