Sunteți pe pagina 1din 2

1.

Care dintre variantele de mai jos, reprezintă o declaraţie cortectă a unui vector v cu 20
de elemente numere întregi ?
a) v[20] : integer; b) v [20] int; c) int v[20]; d) int : v[20]; e) integer v[20];
2.Care dintre liniile programului de mai jos conţin erori ?
main () a) linia 1 b) linia 2
{ int k,n=4; // linia 1 c) linia 3 d) linia 4
int v[n]; // linia 2 e) linia 5
int t[]; // linia 3
for ( k=0; k<n; k++) // linia 4
v[k] ==0; } // linia 5

3.Care dintre secvenţele de program de mai jos, calculează corect suma primelor n
elemente ale unui vector, s= v[0] + v[1] + ... + v[n-1] ?
a) s=0; b) s=0; i=0; c) s=0; i=0;
for (i=0; i<n; i++) while (i<n) do { s=s+v[i]; i++;
s=s+v[i]; { s=s+v[i]; i++;} } while (i<=n-1);
d) toate e) nici una
4. Care dintre următoarele secvenţe de instrucţiuni determină în variabila reală max cel
mai mare element dintr-un şir de n numere reale a1, a2, ..., an ?

a) max=0; b) max=a[1]; c) max=a[1];


for (i=1; i<=n; i++) for( i=2; i<=n; i++) for( i=2; i<=n; i++)
if ( max<a[i] ) max=a[i]; if (max<a[i]) max=a[i]; if (max>a[i]) max=a[i];
d) max=a[n];
for( i=2; i<=n; i++) e) nici una dintre variante
if (max<a[i-1]) max=a[i-1];

5.Deduceţi care vor fi elementele vectorului v după execuţia secvenţei de program:


int n,k,x,v[7]={5,14,-3,8,-1}; a) (-1,5,14,-3,8,0,0,)
n=5; x=v[0]; b) (14,-3,8,-1,0,0,5)
for (k=1; k<n; k++) c) (14,-3,8,-1,5,0,0)
v[k-1] = v[k]; d) (0,0,5,-3,14,-1,8)
v[n-1]=x; e) (0,0,-1,14,-3,8,5)

6.Câte elemente ale vectorului v vor avea valoarea 9 după execuţia secventei:
int v[]= {0,1,2,0,4,5,6}; a) nici unul b)unul
int i=0, x=9; c) două c) trei e) toate
do { v[i++] = x; } while ( i<6 && v[i]!=0 );
7.Ce valoare va fi afişată în urma execuţiei programului următor ? 
 int v[] = {1, 1, 2, 0, 4, 5, 6};  a) 0
  int i = -1, nr = 0;  b) 1
  do  c) 3
   {i++; if (i = = v[i]) nr++;   }   while (i < 6 && d) 2
v[i]!=0);  e) programul va intra in ciclu infinit
  cout << nr; 
8. Ce afişează secvenţa:
for (i = 1; i <= 10; i++) a[i] = 0; a. 0 0 0 0 0 0 0 0 0 0
for (i = 1; i <= 4; i++) a[2 * i + 1] = i + 2; b. 4 5 6 0 0 0 0 0 0 0
for (i = 1; i <= 10; i++) cout << a[i] << " " ; c. 0 5 0 7 0 9 0 11 0 0
d. 0 0 3 0 4 0 5 0 6 0
e. 0 3 0 4 0 5 0 6 0 0
9. Precizaţi care este efectul execuţiei secvenţei din prima coloana
pentru fişierul al cărui conţinut se află pe coloana 2:
1.cpp intrare.txt

int v[10]; -8 5 7 6 11 5 12
ifstream f(„intrare.txt”); 18
ofstream o(„iesire.txt”);
for(int i=0; i<7;i++) 
f>>v[i];
for(int i=0; i<6;i++) 
if (v[i]%2==1) o<<v[i]<<”-’’; 

10. Precizaţi care este efectul execuţiei secvenţei din prima coloana
pentru fişierul al cărui conţinut se află pe coloana 2:
1.cpp intrare.txt

int v[10],S=0; 8 1 4 9 11 6 1
ifstream f(„intrare.txt”); 18
ofstream o(„iesire.txt”);
for(int i=0; i<8;i++) 
{ f>>v[i];
if (v[i]%2==1) S+=v[i];}
o<<S; 
11.Care din următoarele variante reprezintă o declaraţie corectă a unui tablou unidimensional
cu elemente numere reale:
a) float x[float]; d) const int t=10; float x[t];
b) float x[20]; e) float x[100][20];
c) float x[0,20]; f) int t=10; float x[t];
12. Un vector conţine maxim 100 numere întregi. Scrieţi secventele de instructiuni C++ pentru
urmatoarele:

a) Declarati corespunzator vectorul, cititi de la tastatură lungimea logica (n) a vectorului si


elementele sale.
b) Afisati elementele pozitive ale vectorului separate prin spatiu.
c) Afisati suma elementelor impare de pe pozitii pare.
d) Afisati in fisierul „out.txt” pe prima linie - valoarea minima din vector; pe a doua linie -
pozitiile pe care apare aceasta in vector si pe a treia linie - „numarul e
perfect” sau „numarul nu e perfect” daca minimul este sau nu numar perfect(numarul
este egal cu suma divizorilor lui).

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