Sunteți pe pagina 1din 2

Test Alex

(șiruri de caractere și structuri neomogene)

1. Variabila s poate memora un șir cu maximum 20 de caractere. În urma executării secvenței de


instrucțiuni de mai jos se afișează:
strcpy(s,"1b2d3"); a. 1b438
s[2]='a'+2; b. 1bcd8
strcpy(s,s+1); c. ba2
strcpy(s+3,s+4); d. bcd
cout<<s;
2. Variabila s poate memora un șir cu maximum 20 de caractere, iar variabila i este de tip întreg. Scrieți
ce se afișează în urma executării secvenței de instrucțiuni de mai jos.
strcpy(s,"ABRACADABRA");
cout<<strlen(s);
i=0;
while (i<strlen(s)-1)
{ if(strchr("EAIOU",s[i])!=NULL) 11ARAAARA
strcpy(s+i+1,s+i+2);
i++;
}
cout<<s;
3. Care vor fi valorile afişate după executarea secvenţei de program de mai jos?

char s1[20]="algoritm",s2[20]="bioritm", s3[20]="ritm";


if (strlen(s1)< strlen(s2)) a. algoritmritm bioritm ritm
strcat(s3,s1); b. algoritm bioritm ritmalgoritm
else c. algoritm bioritm ritmbioritm
strcat(s3,s2); d. algoritm bioritmritm ritm
cout<<s1<<' '<<s2<<' '<<s3;
4. Se dă un şir format din cel mult 100 de caractere – litere mici ale alfabetului englez şi spaţii. Să se
modifice acest şir prin dublarea fiecărei vocale. Dacă se introduce șirul: ”problema aceea frumoasa”
se va afișa la ieșire: ”proobleemaa aaceeeeaa fruumooaasaa”.

#include <iostream>
using namespace std;

int main()
{
char s[255];
cin.getline(s , 255);
int i = 0;
while(s[i]!=NULL)
{
if(s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u')
cout << s[i] << s[i];
else
cout << s[i];
i++;
}
return 0;
}
5. Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează
simultan coordonatele reale (abscisa şi ordonata) ale unui punct în planul xOy?

a. struct punct{float ox,oy;} x;


b. char x[2];
c. struct x{float ox,oy;};
d. float x;
6. Se consideră declarările de mai jos, în care variabila ev memorează date despre un anumit elev. care
este instrucţiunea C/C++ prin care se iniţializează anul naşterii acestui elev cu valoarea 1998.

struct data{
int zi;
int luna;
int an; a. ev.data_nasterii = 1998;
}; b. ev.data = 1998;
struct elev { c. ev.data_nasterii.an = 1998;
char nume[30]; d. ev.data.an = 1998;
struct data data_nasterii;
float media;
}ev;

7. Fie declarările de mai jos:

struct bac1
{
float a, b;
};
struct bac2 a. x.b.z
{ b. b.a.z
int x, y;
struct bac1 z; c. a.z.a
float t;
}; d. a.y.b
și următoarele declaraţii:
bac1 y, b;
bac2 x, a;
Care dintre următoarele expresii este corectă?

8. Se citesc de la tastatură două numere complexe. Să se efectueze operaţiile de adunare și înmulţire cu


aceste numere complexe.

struct complex //adunare


{ c.x=a.x+b.x; cout<<“suma=”<<c.x<<”+i*”<<c.y;
int x,y; c.y=a.y+b.y;
}; //înmulțire cout<<“produsul=”<<d.x<<”+i*”<<d.y;
complex a,b,c; d.x=a.x*b.y-a.y*b.x;
d.y=a.x*b.y+a.y*b.x;

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