Sunteți pe pagina 1din 4

Exercitii string

1. 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]; 2. 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; 3. 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 caracter cu ultimul, al doilea cu penultimul, etc). i=0; j=strlen(s)-1; while (i<j) { ......... } 4. 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); 5. 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; 6. 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; 7. 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 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++; cout<<" "<<s; 8. 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"; cout<<strlen(s); for (int i=0;i<strlen(s);i++) if (strchr("aeiou",s[i])!=NULL) s[i]= s[i]-'a'+'A'; cout<<" "<<s; 9. 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); else i++; cout<<" "<<s; 10. Ce va afia secvena alturat tiind c variabila a memoreaz un ir cu cel mult 100 de caractere, iar variabilele i i k sunt de tip ntreg? 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; 11. 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 ? strcpy(a,bacalaureat); cout<<strlen(a)<<endl; for(i=0;i<strlen(a);i++) if(strchr(aeiou,a[i])!=0) cout<<*; 12. In 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*. strcpy(a,informatica); for(i=0;i<strlen(a);i++) if(...) cout<<...; else cout<<...; 13. 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 ? strcpy(x,bac2008); cout<<x<<endl; for(i=0;i<strlen(x);i++) if (strchr(0123456789,x[i])==0) cout<<x[i]; 14. In 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 doar literele mici i literele mari din irul de caractere memorat n variabila a. strcpy(a,Bac 2007 iulie); for(i=0;i<strlen(a);i++) if(...) cout<<a[i]; 15. Ce valoare are expresia de mai jos dac variabila s memoreaz irul de caractere alfabet? strlen(strcpy(s,s+2)) 16. Scriei secvena de instruciuni C/C++ care permite 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 palindrom 17. Care va fi irul de caractere afiat dup executarea secvenei alturate, n care variabila s memoreaz un ir cu cel mult 5 caractere ? char s[]=raton; s[1]=s[3]; cout<<s; 18. 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? char s[]=arac; s[1]=t; cout<<s; 19. 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; } 20. 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; 21. 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; 22. 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; 23. Variabila s reine irul de caractere bacalaureat. Ce se afieaz la executarea instruciunii de

mai jos?

cout<<strchr(s,a);

24. 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;

25. 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,bac2008); k1=strlen(x); k2=0; for (i=0;i<strlen(x);i++) if( x[i]>=0 && x[i]<=9) k2=k2+1; 26. 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. 43. 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. 27. 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); cout<<s1<< <<s2<< <<s3; 28. 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 29. n secvena alturat, fiecare dintre variabilele x i s sunt de tipul ir de caracter, iar i este de tip ntreg. Dac variabilele x i s memoreaz iniial irul absolvent, ce se va memora n variabila x n urma executrii secvenei alturate? for(i=0; i<strlen(s); i++) if(strcmp(x, s+i)<0) strcpy(x,s+i); 30. 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; else if(strcmp(x,y) < 0) cout << y; else cout << imposibil; 31. 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; 32. tiind c variabila i este de tip ntreg i c variabila s reine irul de caractere barba, ce se va afia la executarea secvenei alturate? for(i=0;i<strlen(s);i++) if(s[i]==b) s[i]=t; cout<<s; 33. 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,bac2008); for(i=0;i<strlen(s);i++) if(s[i]<0||(s[i]>9) cout<<s[i]; 34. 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 35. 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. 36. 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'; 37. 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'; 38. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos? s=strcat(strstr("bacalaureat", "bac")+ strlen("2008"),"08"); 39. 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'; 40. 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");

41. 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; } 42. 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)*strchr(s,c2)!=0 43. 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")); 44. 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? char a[10]="Examen"; for (i=0;i<=2;i++) strcpy(a+i,a+i+1); cout<<a; 45. 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)]; 46. 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);