Sunteți pe pagina 1din 11

Proiect informatica

Clasa vectori

Vectorul este un tip de data structurat, care
permite memorarea intr-o variabila a mai multor
valori in acelasi timp.
Limbajul C++ ofera posibilitatea de a memora
toate elementele sirului intr-o singura variabila
indexata,in care elementele sunt dispuse intr-o
anumita ordine,ocupand locatii de memorie
succesive,binedeterminate.
Pentru a referi un anumit element al
vectorului,trebuie sa scriem numele variabilei-
vector,urmat de pozitia elementului cuprinsa intre
paranteze.
Operatii cu vectori:
Declararea vectorului:
Un vector trebuie declarat,la fel ca orice
variabila,in sectiunea de declaratii a programului.In
declaratia unui vector trebuie sa apara:identificatorul
vectorului si tipul elementelor.
Ex:
int v[30];
-numele variabilei-vector este v;
-tipul elementelor vectorului este int,adica
elementele sunt numere intregi;
-elementele vectorului
sunt v[0],v[1],.....v[29] ,avand indicii {0,1,2,.....,29}.
Citirea vectorului:
Deoarece v este o variabila compusa,vom citi mai
intai numarul real de elemente n.
Ex:
cout<<"n=";
cin>>n;
for(i=0;i<=n;i++)
{
cout<<"v["<< i <<"]=";
cin>>v[i];
}
Afisarea unui vector
Folosind aceeasi metoda de parcurgere a
vectorului,parcurgem pozitiile elementelor din vector
i={1,2...,n} si pentru fiecare valoare a lui i,afisam
elementul de pe pozitia i,adica v[i].
Ex:
for(i=1;i<=n;i++)
{
cout<<v[i]<<" ";
}

Afisarea elementelor impare de pe pozitii pare ale
unui vector de numere intregi:
for(i=0;i<=n;i++)
{
if((a[i]%2!=0) && (i%2==0))
cout<<a[i];
}

Interclasarea a doi vectori :
Presupunem ca dispunem de doi vectori( eventual
de dimensiuni diferite) ordonati, sa obtinem vectorul
reuniune ordonat. Fie a si b doi vectori, iar in
vectorul c sa punem rezultatul. Vom proceda in felul
urmator:
-vom compara primul element din vectorul a cu
primul element din vectorul b si pe cel mai mic il vom
pune in c, eliminandu-l din vectorul de unde provine;
-procesul se repeta pana cand se epuizeaza
unul din vectori;
-se copiaza la sfarsitul lui c toate elementele
din vectorul ramas neterminat, care fireste vor fi
deja ordonate, cat si mai mari ca ultimul element din
vectorul care s-a epuizat primul.
Ordonare vectorilor:
Metoda selectiei directe:
Consideram ca avem un vector de elemente
comparabile intre ele, sa ordonam crescator elementele
vectorului. Metoda este urmatoarea il punem pe cel mai
mai in fata ,apoi procedam la fel cu restul elementelor
.Aceasta metoda se implementeaza astfel: vom
compara pe x[1] cu toate elementele de dupa el. Daca
gasim un element x[j] care e mai mic decat x[1],atunci
interschimbam pe x[1] cu x[j] .Cand am ajuns la ultimul
element inseamna ca pe prima pozitie va fi sigur cel mai
mic element din vector(noul x[1]) in continuare, ne
ocupam doar de elementele de pe pozitia doi incolo si
vom parcurge vectorul pana la x[n]. Aceste traversari ale
vectorului ,insotite de eventualile interschimbari au loc
pana la penultima pozitie, cand mai are loc doar o
singura comparare, intre x[n-1] si x[n].
Metoda bubble-sort:
Se compara fiecare element x[i] cu elementul
de pe pozitia succesoare, deci cu elementul
x[i+1].Daca elementele nu sunt puse in ordine
crescatoare, se vor schimba intre ele. Procesul se
repeta pana cand la o traversare a lui x nu mai are
loc nici o interschimbare.
Cautare binara:
Cautarea binara se foloseste pentru a
determina existenta unui element intr-un vector.
Daca elementele vectorului sunt deja ordonate
crescator sau descrescator, atunci procesul cautarii
poate deveni mai rapid, daca se aplica cautarea
binara .
Se compara elementul cauta cu elementul din
mijloc si, daca ele nu coincid, se va trece la cautare
doar in acea jumatate a vectorului in care in mod
logic, elementul cautat s-ar putea gasi, in stanga sau
in dreapta, dupa cum elementul din mijloc este mai
mare sau mai mic decat elementul cautat s.a.m.d.
pana cand domeniul in care trebuie sa mai caute sa
terminat.
Proiect realizat de:
Marian Irina
Varvaroi Theodora