Declararea și parcurgerea tablourilor unidimensionale



Vectorii (sau tablourile) în C++ sunt structuri de date care permit stocarea unei colecții de elemente de același tip.


Declararea vectorilor

Sintaxă:

tip_data  nume_vector[dimensiune];

Exemplu:

#include < iostream >
using namespace std;
int main()
{
        int vector[10]; // Declară un vector de 10 elemente de tip int
        return 0;
}

Ne putem imagina tabloul declarat mai sus astfel (valorile elementelor sunt aleatorii):





Spunem că fiecare element are un indice. Indicii unui tablou sunt între 0 și Dimensiune-1, deci în exemplul nostru între 0 și 9.


Referirea unui element

Referirea unui element se face prin operatorul de indexare, [], care are prioritate maximă. De exemplu:

X[0], X[5], X[i]

Aici X este identificatorul tabloului (denumirea), iar 0, 5 sau i sunt indicii. Este necesar ca programatorul (adică TU!) să se asigure că valoarea indicelui se găsește în intervalul potrivit pentru tabloul dat (în exemplul nostru între 0 și 9).


Parcurgerea vectorilor

Parcurgerea unui tablou reprezintă referirea fiecărui element al tabloului, într-o anumită ordine. Referirea elementului se face prin intermediul indicelui, cu ajutorul operatorului de indexare.

Următorul exemplu declară un tablou cu 100 de elemente și memorează în primele n elemente ale tabloului valoarea 1. După cum știm deja, n trebuie să respecte relația n<=100. În caz contrar, comportamentul programului devine impredictibil – foarte probabil execuția sa va fi oprită de sistemul de operare.


Exemplu:

int X[100], n;
//n = .... ;
for(int i = 0 ; i < n ; i ++)
X[i] = 1;

De regulă, parcurgerea tabloului se face în ordinea crescătoare a indicelor, de la 0 la n-1. Făcând o analogie cu axa numerelor, putem spune că parcurgerea se face de la stânga spre dreapta. Tabloul poate fi parcurs și de la dreapta la stânga, adică în ordinea descrescătoare a indicilor, de la n-1 la 0:


for(int i = n - 1 ; i >= 0 ; i --)
     X[i] = 1;

Citirea unui vector

int X[100], n;


De fapt, în cele mai multe cazuri nu se poate face citirea unui tablou unidimensional (vector), adică:

 cin >> X;

Instrucțiunea de mai sus duce de regulă la eroare de sintaxă. În schimb, se pot citi elementele tabloului, în ordine, cu ajutorul parcurgerii:


cin >> n;
for(int i = 0 ; i < n ; i ++)
    cin >> X[i];

Afișarea unui vector

int X[100], n;

La fel ca în cazul citirii, în cele mai multe cazuri nu se poate face nici afișarea unui vector, adică:

 cout <<  X;

Elementele tabloului se pot afișa prin parcurgere, în ordinea dorită:


for(int i = 0 ; i < n ; i ++)
    cout << X[i] <<" ";

Sau


for(int i = n - 1 ; i >= 0 ; i --)
    cout << X[i] <<" ";

Color Contrast

Text Size

Text Spacing

Reading Aids


În această secțiune poți genera un rezumat al conținutului paginii folosind AI! Fii liber să folosești butonul de mai jos oricând ești pe grabă și nu ai timp să înveți tot!


Summary

În această secțiune poți întreba expertul nostru robot orice legat de nelămuririle pe care le-ai întâlnit de-a lungul lecțiilor! Fii liber să folosești butonul de mai jos oricând ai nevoie de explicații adiționale!


Chatbot