Sunteți pe pagina 1din 2

1.

Considerând declarările alăturate, care dintre următoarele referiri este corectă din
punct de vedere sintactic ?
struct datan{int zi,ln,an;};
struct elev {char nume[30];
datan dn,da;} e;
a) e.datan.ln
b) nume.e
c) e.dn.an[2]
d) e.dn.zi *

2. Ce se afişează pe ecran în urma executării secvenţei de program alăturate, unde a este


o variabilă de tip şir de caractere?
strcpy(a,"informatica");
strcpy(a+2,a+5);
cout<<a; | printf("%s",a);

Barem: inmatica

3. Funcţia F are următoarea definiţie:


int F(int x) {
if (x<=1) return x;
else
return x+F(x-2);}

Ce valoare are F(18)?

a) 171
b) 90 *
c) 91
d) 18

4. Fie v un vector de numere întregi. Sǎ se construiascǎ un vector w, astfel încât


w[i]=numǎrul de apariţii ale lui v[i] în vectorul v. Sǎ se afişeze cei doi vectori, fiecare pe
câte o linie. Scrieţi programul C/C++/Pascal care respectă cerinţele problemei.

Exemplu: Pentru v=(1, 8, 2, 1, 8, 7, 2, 1, 8) se obţine w=(3, 3, 2, 3, 3, 1, 2, 3, 3).

Barem:
1p. declararea variabilelor şi citirea datelor
2p. construirea vectorului w
1p. afişarea datelor de ieşire

5. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (0<n≤23) şi


apoi construieşte în memorie o matrice cu n linii şi n coloane astfel încât elementele
situate pe diagonala principală să fie egale cu 2, cele situate deasupra diagonalei
principale să fie egale cu 1, iar cele situate sub diagonala principală să fie egale 3.
Programul va afişa matricea pe ecran, câte o linie a matricei pe o linie a ecranului, cu câte un
spaţiu între elementele fiecărei linii.
Exemplu: dacă n este 4 atunci programul va construi şi va afişa
matricea alăturată. (10p.)
2111
3211
3321
3332

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