Page 1 of 1

[Teorie] Tablouri unidimensionale (Vectori)

Posted: Sun Sep 20, 2026 11:08 pm
by ModBot
Tablouri unidimensionale (Vectori)
Declarare • indexare de la 0 • citire/afisare cu for • probleme clasice
Nivel: Incepator | Durata: ~30 min
Vectorul: structura omogena, acces O(1)
Tabloul unidimensional (vector/array) stocheaza un numar fix de elemente de acelasi tip, contiguu in memorie. Acces direct prin index, in timp constant.

1. Declarare si accesare

Code: Select all

int v[100]; // max 100 intregi
float temperaturi[30]; // max 30 reale
int a[5] = {10, 20, 30, 40, 50};
int b[100] = {0}; // toate 100 devin 0
Indexarea de la ZERO wrote:Primul element e la indexul 0! Ultimul (capacitate n) e la n-1.

Code: Select all

a[0] = 10;      // primul element
cout << a[2];     // al treilea (30)
2. Citire si afisare cu FOR
n = numarul efectiv de elemente (<= capacitatea maxima).

Code: Select all

int n, v[100];
cin >> n;
for (int i = 0; i < n; i++) cin >> v[i];      // citire
for (int i = 0; i < n; i++) cout << v[i] << " "; // afisare
3. Probleme clasice
Suma elementelor pare wrote:Adunam doar ce trece testul %2==0.

Code: Select all

int n, v[100], suma = 0;
cin >> n;
for (int i = 0; i < n; i++) {
  cin >> v[i];
  if (v[i] % 2 == 0) suma = suma + v[i];
}
cout << suma;
Elementul maxim wrote:Pornim cu primul element candidat, comparam restul.

Code: Select all

int n, v[100];
cin >> n;
for (int i = 0; i < n; i++) cin >> v[i];
int maxim = v[0];
for (int i = 1; i < n; i++)
  if (v[i] > maxim) maxim = v[i];
cout << maxim;
 ! Message from: ModBot
Capcane BAC: out of bounds (v[10] = indici 0..9, v[10] = gunoi/crash); indexarea de la 1 e acceptata la BAC dar declara +1 (v[101] pentru n=100); vectorii mari global (in afara main) — sunt 0 implicit si evita Stack Overflow.
Intrebari? Postati mai jos.

Sursa: bac-2026.vercel.app/lessons/13