Vectori
Definiţie Tabloul unidimensional este o structură de date căreia i se atribuie un nume. Este format dintr-o colecție de elemente de același tip, dispuse contiguu într-un bloc de memorie. Elementele pot fi accesate individual prin indici sau ca un tot unitar. Toate elementele au un predecesor (excepție primul) și un succesor (excepție ultimul)
Declarare
tip nume_tablou [dimensiune_max];
tip - precizează tipul datelor (întregi, real, caracter, etc.)
nume_tablou – identificator, precizează numele dat tabloului
Dimensiune max – numărul maxim de componente (o constantă întreagă)
Dimensiune max = memoria fizică alocată. Dimens. logică ≤ dimens.max
Se observă că este obligatorie folosirea parantezelor drepte care să încadreze dimensiunea maximă pe care o alege utilizatorul pentru acel tablou unidimensional.
Exemple
int a[25]; // declararea unui tablou unidimensional cu maxim 25 de elemente, fiecare de tip întreg
float x[30]; // declararea unui tablou unidimensional cu maxim 30 de elemente, fiecare de tip real simplă precizie
char s[40]; // declararea unui tablou unidimensional cu maxim 40 de elemente, fiecare de tip caracter
int a[99], b[99] ; // au fost declarați doi vectori a, b
Un element al unui tablou poate fi utilizat ca orice alta variabilă. Adresarea unei componente se face prin indicele ei, trecut între paranteze drepte. Se pot efectua operaţii asupra fiecărui element al tabloului, nu asupra întregului tablou.
Compilatorul C++ alocă un spaţiu de memorie egal cu numărul maxim de elemente ale tabloului, rezervând octeţi în funcţie de tipul de bază al fiecărui tablou.
Inițializarea tablourilor
Tablourile, ca şi variabilele simple pot fi iniţializate. Tablourile globale se iniţializează prin definiţiile lor la compilare, iar tablourile locale se iniţializează prin declaraţiile lor la execuţie.
a. prin introducerea datelor de la tastatură/fișier
b. prin folosirea instrucţiunii de atribuire
c. prin utilizarea unei constante de tip tablou
int v[100],n;
cin>>n;
for (int i=0; i<n; ++i)
cin >> v[i];
int v[5],n;
for (int i=0; i<n; ++i)
v[i] = 0;
/* toate componentele vectorului v sunt iniţializate cu 0. */
int v[5] = {1,2,3,4,5};
int t[10] = {1,2,3};
/* t[0] = 1, t[1] = 2, t[2] = 3; celelalte componente ale tabloului t[3], …, t[9] au valoarea 0 dacă tabloul este declarat global sau o valoare iniţială imprevizibilă dacă tabloul este declarat local. */
Accesul la elementele tabloului
• Accesul la fiecare element al tabloului se face prin numele acestuia urmat între paranteze, de indicele său (adică poziţia pe care o ocupă în tablou). Ex. nume[indice]
• În limbajul C++, indicii tablourilor încep numărătoarea de la valoarea 0 şi se termină cu limita superioară minus 1 (n-1).
Exemplu
int vec [4] = {12, 23, 34, 45};
Referirea la elemente
Primul element din vector are numărul de ordine (indicele) zero !
Astfel, elementul cu număr de ordine 0 din vector este 12, elementul al 2-lea este 23 și elementul 45 este al 4-lea element din vector (are indicele 3).