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ă.