Un tablou este o colecţie de date de acelaşi tip, memorate într-o zonă de memorie contiguă, reunite sub un nume comun.
Declararea unei variabile de tip tablou:
tip_dată nume[nr_elemente];
Exemple:
int a[20]; float b[10]; char c[5];
unde nr_elemente este o constantă întreagă ce specifică numărul de elemente ale vectorului; precizarea valorii sale se poate face şi printr-o constantă simbolică, de exemplu:
const int DIM=100; int a[DIM];
Accesul la un element al tabloului se poate face pe baza indicelui acelui element (numerotarea începe de la 0). De exemplu, elementele tabloului a declarat mai sus sunt a[0], a[1], a[2].
Operatii:
1.Citirea unui vector
int v[100], n, i; cout<"n="; cin>>n; for(i=0;i<n; i++) {cout<<"v["<<i<<"]="; cin>>v[i];}
2.Afisarea unui vector
for(i=0;i<n; i++) cout<<v[i]<<' ';
3.Determinarea sumei elementelor unui vector
int s=0; for(i=0;i<n; i++) s=s+v[i];
4.Determinarea minimului dintr-un vector
int min=v[0]; for(i=1;i<n; i++) if (v[i]<min) min=v[i];
5.Sa se verifice daca toate elementele unui vector sunt numere pozitive:
sw=1; for (i=0;i<n && sw; i++) if (v[i]<0) sw=0; if(sw==1) cout<<"Vectorul are toate elementele pozitive"; else cout<<"Vectorul nu are toate elementele pozitive";
6.Cautarea binara
st=0; dr=n-1; gasit=0; while (!gasit && st<=dr) {mij=(st+dr)/2; if (a[mij]==x) gasit=1; else if (a[mij]>x) dr=mij-1; else st=mij+1;} if (gasit) cout<<x<<” se gaseste pe pozitia “<<mij; else cout<<x<<” nu se afla in vector”;
7.Sortarea unui vector (metoda selectiei directe)
for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if (v[i]>v[j]) {aux=v[i]; v[i]=v[j]; v[j]=aux;}
Exemple:
Vectori – deplasari, stergeri
Vectori – sort interclasare, cautare
vectori – multimi
vectori de frecventa
Probleme propuse