Probleme siruri de caractere (v. bac)

1)Ce se va afisa in urma
executarii secentei de
program alaturate stiind
ca variabila a memoreaza
un sir cu cel mult
100 de caractere ,
iar variabilele 1 si k sunt
de tip intreg ?

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

Se afiseaza CLASA A-XII-A A

Argumentare:Programul transforma
toate literele mici in litere mari.


2)In secventa de program alatarata ,variabila a
memoreaza un sir cu cel mult 100 caractere,
iar variavila ieste de tip intreg.Completati
punctele de suspensie din secventa astfel incat,
in urma executarii secventei ,acestasa afiseze
sirul de caractere *nf*rm*t*c*.

for(i=0; i < = n;i++)
 if(...)
      cout << ...;
 else cout << ...;

Raspuns:

if(a[i]=="a"||a[i]=="e"||a[i]="i"||a[i]=="o"||a[i]=="u");
   cout << "*";
else
   cout << a[i];

Argumentare: Programul inlocuieste toate vocalele cu steluta "*".


3)Ce se afiseaza in urma exacutarii secventei
de program alaturate,stiind ca variabila X memoreaza
un sir cu cel mult 100 de caractere,iar
variabila i este de tip intreg?

strcpy(x,"bac2009");
cout << x << endl;
for(i=0;i < strlen(x);i++)
    if(strchr("0123456789",x[i])==0
     cout << x[i];


Raspuns: Se afiseaza "2009".
Argumentare: Programul afiseaza toate cifrele din sir.


4)Ce valoare are expresia de mai jos daca variabila s
memoreaza sirul de caractere "alfabet" ?

strlen(s,s+2)

Raspuns: Afiseaza 5.


5)Care va fi sirul de caractere afisat dupa
exacutareasecventei de program alaturata,in care
variabila s memoreaza un sir de cel mult 5 caractere?

char s[]="raton";
s[1]=s[3];
cout << s;

Raspuns: Vocala "a" de pe poz. s[1] se inclocuieste cu
vocala "o" de pe pozitia s[3] => se afiseaza "roton".