Declararea tablourilor unidimensionale

  Declararea unui vector are următoarea sintaxă:

<tip_dată> <nume_tablou>[<nr_max_elemente>];

  • <tip_dată> reprezintă tipul de dată al tuturor variabilelor memorate în tablou;
  • <nume_tablou> este numele cu care vom apela vectorul / elemente din el;
  • <nr_max_elemente> este un număr care reprezintă numărul total de elemente pe care le poate reține vectorul declarat.

Exemple de declarări:

int v[100],n,i;  /* se poate declara un vector urmat de alte variabile */
float x[501];
char cuvant[20];

Un tablou declarat global va conține inițial 0-uri. Unul declarat local va conține valori aleatorii, de multe ori numere mari.

  Pentru a ne referi la un element din tablou vom folosi sintaxa v[k], unde k este indicele elementului respectiv. Numărătoarea indicelor se face de la 0 la n-1, unde n este numărul scris în declararea vectorului.
  În rezolvarea unor probleme vom memora valorile începând cu poziția 1, pentru a ne fi mai ușor la stabilirea limitelor, referirea la elemente etc. (elementul din poziția 0 rămâne gol).
  De exemplu, dacă dorim să memorăm 100 numere întregi într-un vector și le vom pune începând cu poziția 1, declararea tabloului va fi: int v[101]; (101 pentru a compensa cu poziția 0 lăsată liberă).

Declararea unui vector cu elementele inițializate

  Pentru declararea unui tablou unidimensional cu elementele inițializate avem următoarea formă generală:

<tip_dată> <nume_tablou>[] = {<v0>, <v1>, ..., <vn>};

  Diferența la cele 2 declarări este că nu mai suntem nevoiți să introducem dimensiunea tabloului, dar va trebui să introducem fiecare valoare în poziția corespunzătoare.

Enunț: Se citește un număr i. Declarați un tablou unidimensional care să conțină în poziția v[i] luna i corespunzătoare a unui an nebisect și afișați numărul de zile al lunii respective.

int v[]={0,31,28,31,30,31,30,31,31,30,31,30,31},i;
cin>>i;
cout<<v[i];
12
31
9
30

  Vom declara vectorul cu toate zilele introduse în poziția corectă. Poziția 0 (care nu corespunde niciunei luni calendaristice) va rămâne nulă.