Documente Academic
Documente Profesional
Documente Cultură
Tipul ir de caractere
105
6. Pentru a compara lungimile efective a dou iruri de caractere se utilizeaz
subprogramul predefinit:
a. proba*e c. probae
b. *p*r*o*b*a***e d. p*r*o*b*a*e*
106
Ce se afieaz dup executarea secvenei de mai jos?
s:=bacalaureat; strcpy(s,bacalaureat);
cout<<s[strlen(s)-4];
write(s[length(s)-3]); / printf(%c,s[strlen(s)-4]);
a. r b. e c. 17 d. 8
107
17. Pentru declararea unei variabile care memoreaz 20 de cuvinte avnd
maximum 10 caractere fiecare, vom utiliza sintaxa:
a. var c[10,20]:string; a. char c[10][20];
b. var c:array[1..10] of string; b. char c[10][ ];
c. var c[20,10]:string; c. char c[20,10];
d. var c:array[1..20] of string[10]; d. char c[20][11];
108
x := 'bacalaureat'; char x[] = "bacalaureat";
for i:= 1 to 4 do for (int i = 1; i <= 4; i++)
delete(x, 1, 1); strcpy(x, x + 1);
write(x); printf("%s", x); | cout << x;
23. Algoritmul urmtor testeaz dac irul de caractere s este palindrom (citit
att de la stnga la dreapta, ct i de la dreapta la stnga, se obine acelai
ir de caractere). Care este expresia care poate nlocui punctele de
suspensie astfel nct algoritmul s fie corect ?
109
3. S se realizeze un program Pascal/C/C++ care citete de la tastatur un numr
natural n cu cel mult nou cifre nedivizibil cu 10 i care afieaz pe ecran
numrul obinut din n prin schimbarea primei cifre a numrului cu ultima cifr a
sa, precum i valoarea radicalului de ordinul 2 din numrul obinut, cu cel mult
dou zecimale. Cele dou numere se vor afia pe o linie, separate printr-un
spaiu. Exemplu: pentru n=6094 se vor afia: 4096 64.
110
8. Scriei programul Pascal/C/C++ care citete de la tastatur un ir de cel
mult 100 de caractere, format doar din literele mici ale alfabetului englez i
caractere spaiu. Programul afieaz pe ecran irul codificat astfel:
dup fiecare vocal se adaug consoana imediat urmtoare (dup a
se insereaz b, dup i se insereaz j .a.m.d.),
la sfritul irului se adaug grupul de litere stop.
Exemplu: dac irul iniial este azi este proba de informatica ,
dup codificare se afieaz: abzij efstef propbab def
ijnfoprmabtijcabstop
9. Se citete de la tastatur un text format din cuvinte separate ntre ele prin
cte un spaiu. Fiecare cuvnt are cel mult 40 de caractere, doar litere mici
ale alfabetului englez. Textul are cel mult 200 de caractere. Scriei programul
Pascal/C/C++ care afieaz pe ecran, pe linii separate, doar cuvintele din
textul citit care conin cel mult trei vocale. Se consider vocale: a, e, i, o, u.
Exemplu. Dac textul este:
pentru examenul de bacalaureat se folosesc tablouri
se afieaz pe ecran:
pentru
de
se
folosesc
111
11. Scriei programul Pascal/C/C++ care citete de la tastatur un cuvnt de cel
mult 15 litere mici ale alfabetului englez i care scrie pe ecran, pe linii
distincte, cuvintele obinute prin tergerea succesiv a vocalelor n ordinea
alfabetic a lor (a, e, i, o, u). La fiecare pas se vor terge toate
apariiile din cuvnt ale unei vocale (ca n exemplu).
Exemplu: Dac se citete cuvntul bacalaureat se afieaz:
bcluret (s-au ters toate cele patru apariii ale vocalei a)
bclurt (s-a ters unica apariie a vocalei e)
bclrt (s-a ters unica apariie a vocalei u)
112
15. Scriei un program care citete de la tastatur dou cuvinte u i v formate din
cel mult 100 de litere mari ale alfabetului englez. Programul va verifica dac u i
v au acelai numr de caractere i, n caz afirmativ, va determina un ir de
lungime minim format din cuvinte, astfel nct primul cuvnt din acest ir s
coincid cu u, ultimul cu v i orice dou cuvinte succesive s difere prin exact o
liter. Fiecare cuvnt din acest ir va fi scris pe cte o linie, n fiierul text
TRANS.TXT. n cazul n care u i v nu au acelai numr de litere, se va afia pe
ecran mesajul EROARE.
De exemplu, dac u=MARE i v=TORT, atunci fiierul TRANS.TXT poate s
conin:
MARE
MART
TART
TORT
113