MeditatiiDirect.ro Logo
MeditatiiDirect.ro
Educație la un click distanță
MeditatiiMateriiAdmitereTutorialePregatire BACSubiecte BACVariante BACBlog
InformaticăliceuClasa 9usor

Vectori în C++ - Tablouri Unidimensionale

Învață să lucrezi cu vectori (tablouri unidimensionale) în C++: declarare, citire, parcurgere și operații de bază. Tutorial complet stil pbinfo.

3 luni în urmă
0 vizualizări
40 minute

Vectori în C++ - Tablouri Unidimensionale

Definiție

Un vector (sau tablou unidimensional) este o structură de date care stochează o colecție de elemente de același tip, accesibile prin indici.

Caracteristici:

  • •Elementele sunt stocate în locații consecutive de memorie
  • •Indicii încep de la 0 (primul element este v[0])
  • •Dimensiunea trebuie cunoscută la declarare (în C++ standard)

Teorie

Declarare

1tip nume_vector[dimensiune];
2
3// Exemple:
4int v[100];       // Vector de 100 întregi
5double note[50];  // Vector de 50 numere reale
6char sir[256];    // Șir de caractere

Indexare

Pentru un vector v de dimensiune n:

  • •Primul element: v[0]
  • •Al doilea element: v[1]
  • •Ultimul element: v[n-1]

Exemple C++ Compilabile

Exemplul 1: Citirea și afișarea unui vector

1#include <iostream>
2using namespace std;
3
4int main() {
5    int v[100], n;
6    
7    // Citirea dimensiunii
8    cout << "Introduceti numarul de elemente: ";
9    cin >> n;
10    
11    // Citirea elementelor
12    cout << "Introduceti " << n << " elemente: ";
13    for (int i = 0; i < n; i++) {
14        cin >> v[i];
15    }
16    
17    // Afișarea elementelor
18    cout << "Elementele vectorului: ";
19    for (int i = 0; i < n; i++) {
20        cout << v[i] << " ";
21    }
22    
23    return 0;
24}

Exemplul 2: Suma și media elementelor

1#include <iostream>
2using namespace std;
3
4int main() {
5    int v[100], n;
6    int suma = 0;
7    
8    cin >> n;
9    for (int i = 0; i < n; i++) {
10        cin >> v[i];
11        suma = suma + v[i];
12    }
13    
14    cout << "Suma: " << suma << endl;
15    cout << "Media: " << (double)suma / n << endl;
16    
17    return 0;
18}

Exemplul 3: Minimul și maximul dintr-un vector

1#include <iostream>
2using namespace std;
3
4int main() {
5    int v[100], n;
6    int minim, maxim;
7    
8    cin >> n;
9    for (int i = 0; i < n; i++) {
10        cin >> v[i];
11    }
12    
13    // Inițializăm cu primul element
14    minim = v[0];
15    maxim = v[0];
16    
17    // Parcurgem restul vectorului
18    for (int i = 1; i < n; i++) {
19        if (v[i] < minim)
20            minim = v[i];
21        if (v[i] > maxim)
22            maxim = v[i];
23    }
24    
25    cout << "Minim: " << minim << endl;
26    cout << "Maxim: " << maxim << endl;
27    
28    return 0;
29}

Exemplul 4: Căutarea unui element în vector

1#include <iostream>
2using namespace std;
3
4int main() {
5    int v[100], n, x;
6    int pozitie = -1;  // -1 înseamnă "negăsit"
7    
8    cin >> n;
9    for (int i = 0; i < n; i++) {
10        cin >> v[i];
11    }
12    
13    cout << "Ce element cautati? ";
14    cin >> x;
15    
16    for (int i = 0; i < n; i++) {
17        if (v[i] == x) {
18            pozitie = i;
19            break;  // Am găsit, oprim căutarea
20        }
21    }
22    
23    if (pozitie == -1)
24        cout << x << " nu exista in vector" << endl;
25    else
26        cout << x << " se afla pe pozitia " << pozitie << endl;
27    
28    return 0;
29}

Exemplul 5: Inversarea unui vector

1#include <iostream>
2using namespace std;
3
4int main() {
5    int v[100], n;
6    
7    cin >> n;
8    for (int i = 0; i < n; i++) {
9        cin >> v[i];
10    }
11    
12    // Inversare prin interschimbare
13    for (int i = 0; i < n / 2; i++) {
14        int temp = v[i];
15        v[i] = v[n - 1 - i];
16        v[n - 1 - i] = temp;
17    }
18    
19    // Afișare
20    cout << "Vectorul inversat: ";
21    for (int i = 0; i < n; i++) {
22        cout << v[i] << " ";
23    }
24    
25    return 0;
26}

Exemplul 6: Sortarea prin selecție

1#include <iostream>
2using namespace std;
3
4int main() {
5    int v[100], n;
6    
7    cin >> n;
8    for (int i = 0; i < n; i++) {
9        cin >> v[i];
10    }
11    
12    // Sortare prin selecție (crescător)
13    for (int i = 0; i < n - 1; i++) {
14        // Găsim minimul din v[i..n-1]
15        int poz_min = i;
16        for (int j = i + 1; j < n; j++) {
17            if (v[j] < v[poz_min])
18                poz_min = j;
19        }
20        // Interschimbăm v[i] cu v[poz_min]
21        int temp = v[i];
22        v[i] = v[poz_min];
23        v[poz_min] = temp;
24    }
25    
26    // Afișare
27    cout << "Vectorul sortat: ";
28    for (int i = 0; i < n; i++) {
29        cout << v[i] << " ";
30    }
31    
32    return 0;
33}

Greșeli Frecvente

1. Depășirea limitelor vectorului

1int v[10];
2v[10] = 5;  // GREȘIT! Indicii sunt 0-9
3
4// CORECT
5v[9] = 5;   // Ultimul element valid

2. Confuzia între dimensiune și ultimul indice

1int v[100], n = 5;
2
3// GREȘIT - parcurgem până la n inclusiv
4for (int i = 0; i <= n; i++) { ... }  // Accesează v[5] care nu există
5
6// CORECT - parcurgem până la n-1
7for (int i = 0; i < n; i++) { ... }

3. Neinițializarea variabilelor

1int suma;  // GREȘIT - suma are valoare nedefinită
2for (int i = 0; i < n; i++)
3    suma = suma + v[i];
4
5int suma = 0;  // CORECT - inițializăm cu 0

Exerciții Tip PBInfo

Exercițiul 1 - Elementele pare

Să se afișeze toate elementele pare dintr-un vector.

Exercițiul 2 - Poziția maximului

Să se afișeze poziția elementului maxim (prima apariție).

Exercițiul 3 - Număr de apariții

Să se numere de câte ori apare o valoare x în vector.

Exercițiul 4 - Verificare sortare

Să se verifice dacă un vector este sortat crescător.

Exercițiul 5 - Interclasare

Să se interclaseze doi vectori sortați într-un al treilea vector sortat.

Tutorialul te-a ajutat?

Dacă ai nevoie de ajutor personalizat, găsește un profesor calificat pentru meditații

MeditatiiDirect.ro Logo
MeditatiiDirect.ro

Platforma educationala din Romania pentru meditatii particulare. Profesori verificati, recenzii reale, inscriere gratuita.

Cauta sau publica anunturi gratuit pentru toate materiile scolare.

Meditatii

  • Meditatii
  • Meditatii Matematica
  • Meditatii Informatica
  • Meditatii Romana
  • Meditatii Engleza
  • Anunturi Meditatii
  • Meditatii Online
  • Ore Online
  • Meditatii BAC
  • Meditatii Bucuresti
  • Meditatii Cluj-Napoca
  • Meditatii Timisoara
  • Meditatii Iasi
  • Meditatii Fizica
  • Meditatii Chimie
  • Meditatii Biologie

Materii Populare

  • Matematică
  • Limba Română
  • Limba Engleză
  • Informatică
  • Fizică
  • Toate Materiile →

Platforma

  • Cum functioneaza
  • Pentru elevi si parinti
  • Pentru profesori
  • Intrebari frecvente
  • Despre noi
  • Publica anunt gratuit

Resurse

  • Profesor Particular
  • Pregatire BAC
  • Admitere Facultate
  • Universitati Romania
  • Facultati Medicina
  • Facultati Informatica
  • Facultati Politehnica
  • Facultati Drept
  • Facultati Economice
  • Facultati Psihologie
  • Grile UPB
  • Grile Medicina
  • Grile Auto 2026
  • Variante BAC 2026
  • Simulare BAC 2026
  • Subiecte BAC
  • Subiecte Admitere
  • Titularizare 2025
  • Tutoriale
  • Blog educational
  • Ore Online
  • Profesori Online
  • Contact

MeditatiiDirect.ro este o platforma educationala din Romania unde gasesti meditatii si profesori particulari verificati pentru matematica, limba romana, engleza, informatica, fizica, chimie si alte materii. Disponibil in Bucuresti, Cluj-Napoca, Timisoara, Iasi si toata Romania, inclusiv meditatii online. Publica sau gaseste anunturi meditatii gratuit, programeaza ore online cu profesori verificati, cauta un profesor particular sau incepe meditatii BAC si admiterea la facultate.

© 2026 MeditatiiDirect. Toate drepturile rezervate.