Sari la conținut

Capitolul 7 · Lecția 7.1 din 2

Vectori: declarare, citire și parcurgere

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

Capitolul 7: Tablouri unidimensionaleConținut verificat

Pe scurt pentru BAC · 5 idei

  • Un vector memorează mai multe valori de același tip sub un singur nume, iar fiecare element se accesează prin indice.
  • Indicii pornesc de la 0, deci primul element este v[0], iar al zecelea este v[9].
  • Citirea și afișarea unui vector se fac cu un for de la i = 0 cât timp i < n.
  • La maxim parcurgi de la i = 1 și actualizezi maxim de fiecare dată când găsești o valoare mai mare.
  • Numărarea elementelor cu o proprietate folosește un contor pornit de la 0, crescut cu cnt++ la fiecare element potrivit.
Pe această pagină5 secțiuni

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.

Reține

Inițializează maximul cu PRIMUL element, nu cu 0: dacă toate valorile sunt negative, maximul inițial 0 dă rezultat greșit.

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.

Bifează când ai terminat, ca s-o vezi citită pe toate dispozitivele.

Testează-te pe capitolul 7

Lecția în clipuri

Clipuri scurte, cu voce și subtitrări.

Folosim cookie-uri esențiale, fără de care site-ul nu merge, și cookie-uri de analiză anonimizate, ca să vedem ce pagini ajută. Detalii în politica de confidențialitate