Sunteți pe pagina 1din 2

Exerciții

1. Precizați ce se va afișa pe ecran în urma execuției secvenței de program de mai jos.


char sir[]="MATE";
int i=0;
while(i<strlen(sir))
{
sir[i]=sir[i]+1;
i++;
}
cout<<sir+1;

2. Se consideră secvența de mai jos. Considerăm indexarea vectorului de înregistrări de la 1.


struct masina
{
char marca[21], nr_inmatriculare[10];
unsigned vechime;
float pret;
struct
{
char luna[16];
int zi;
unsigned an;
} d;
} m[31];
Se cere:
a) Să se atribuie mașinii cu numărul de ordine 3 marca MERCEDES;
b) Să se atribuie mașinii cu numărul de ordine 9 luna de fabricare IANUARIE;
c) Citiți prețul mașinii cu numărul de ordine 2;
d) Afișați al patrulea caracter din luna de fabricare a mașinii cu numărul de ordine 9.

3. Precizați conținutul șirului a după executarea secvenței de mai jos.


char a[101]="89abc12345";
int i, x=0, n=strlen(a);
for(i=0; a[i]>='0'&&a[i]<='9'; i++)
x=x*10+a[n-i-1]-'0';
cout<<x;

4. În secvenţa de mai jos, variabila s memorează un şir cu cel mult 30 de caractere, iar
variabila i este de tip întreg. Scrieţi ce se afișează pe ecran în urma executării secvenţei.
int i;
char s[31];
strcpy(s,"FaCULtatE");
cout<<strlen(s);
for(i=0; i<strlen(s); i++)
if(s[i]>='A' && s[i]<='Z')
s[i]=s[i]+('a'-'A');
else
s[i]='*';
cout<<s;
5. Care sunt valorile afișate pe ecran în urma executării secvenței de program de mai jos?
int i=0;
char s[100], aux[100]="";
strcpy(s,"Facultate de Informatica Bucuresti");
aux[0]=s[4];
i++;
aux[i]='*';
strncat(aux,strstr(s,"ma"),2);
strncat(aux,strchr(s,'e')+1,2);
i=i+4;
aux[i+1]='*';
i=++i;
strcat(aux,strstr(s,"for")+1);
cout<<aux;