Sari la conținut
LECȚIA 7.1 · INFORMATICĂ

Vectori: declarare, citire și parcurgere

Tablouri unidimensionale în C++: memorare, citire cu for și algoritmul de maxim.

Conținut verificat

Ce este un vector

Un tablou unidimensional (vector) memorează mai multe valori de același tip, sub un singur nume, accesate prin indice:

Declararea unui vector
#include <iostream>
using namespace std;

int main() {
    int v[100];
    v[0] = 3;
    v[1] = 7;
    v[2] = 2;
    cout << v[0] << " " << v[1] << " " << v[2];
    return 0;
}

Atenție: Dimensiunea se alege mai mare decat ar putea fi nevoie. Elementele nefolosite exista, dar nu au valoare utila in C, C++ si Pascal.

se trimit programului la citire

Indicii pornesc de la 0: primul element este v[0], al zecelea este v[9].

Citirea și afișarea

Citirea si afisarea unui vector
#include <iostream>
using namespace std;

int main() {
    int n, v[100];
    cin >> n;
    for (int i = 0; i < n; i++)
        cin >> v[i];
    for (int i = 0; i < n; i++)
        cout << v[i] << " ";
    return 0;
}
se trimit programului la citire

Pentru intrarea 3 urmată de 3 7 2, vectorul devine v[0]=3, v[1]=7, v[2]=2.

Algoritmul de maxim

Maximul dintr-un vector
#include <iostream>
using namespace std;

int main() {
    int v[] = {3, 7, 2, 9, 4}, n = 5;
    int maxim = v[0];
    for (int i = 1; i < n; i++)
        if (v[i] > maxim)
            maxim = v[i];
    cout << maxim;
    return 0;
}

Atenție: Maximul se porneste de la primul element al vectorului, nu de la zero. Cu zero, un vector cu toate valorile negative ar da raspuns gresit.

se trimit programului la citire

Urmărire pentru 3 7 2: maxim pornește 3; la i=1, 7 > 3, maxim devine 7; la i=2, 2 < 7, rămâne 7. Se afișează 7.

Numărarea elementelor cu o proprietate

Cate elemente pare are vectorul
#include <iostream>
using namespace std;

int main() {
    int v[] = {3, 7, 2, 9, 4}, n = 5;
    int cnt = 0;
    for (int i = 0; i < n; i++)
        if (v[i] % 2 == 0)
            cnt++;
    cout << cnt;
    return 0;
}
se trimit programului la citire

Pentru 3 7 2, doar 2 e par, deci cnt = 1.

Greșeli frecvente

  1. Indicii merg de la 0 la n−1: v[n] este în afara datelor citite.
  2. La citirea cu indice de la 1 (for i=1..n), fii consecvent peste tot în program.
  3. Maximul inițializat cu 0 în loc de v[0] pică pe vectori cu numere negative.