VECTORI Generalitati Ce sunt vectorii Vectorii sunt tablouri
VECTORI Generalitati
Ce sunt vectorii? Ø Vectorii sunt tablouri unidimensionale ce reprezinta structuri de date, care pot memora mai multe elemente de acelasi tip(structura omogena).
Caracteristici generale: 1. Fiecare element este identificat prin numele variabilei si un indice care reprezinta locul din memorie al variabilei. Exemplu: V [10] -numele variabilei - indice/numar de ordine
• 2. Indicii au valori de la: 0, 1, 2, 3, . . , n.
3. Indicii permit accesul direct la fiecare element prin determinarea adresei de memorie la care se afla elementul respectiv.
4. Declararea unui vector: Ø Tipul de date(int, long float, unsigned); Ø Elementul respectiv: a[100]; Exemplu: {int a[100];
Operatii fundamentale cu vectori:
1. CITIREA: � Se citeste lungimea vectorului. � Se parcurge vectorul (cu “for”). � Se citeste elementul (v[i]). Cin>>n; For (i=1; i<=n; i++) Cin>>v[i];
2. PRELUCRAREA: � Se acceseaza elementele in ordinea dorita si se prelucreaza printr-un algoritm specific tipului de date ale elementului. Ø Ordinea elementelor: -for(i=1; i<=n; i++)- ordinea directa -for(i=n; i>=1; i--) (ordinea inversa)
3. AFISAREA: For(i=1; i<=n; i++) Cout<<v[i]<<“ “; Cout<<endl;
�Deoarece vectorii ocupa spatiu de memorie, utilizarea lor este recomandata doar in situatia in care elementele trebuie prelucrate de mai multe ori, iar numarul elementelor nu depaseste capacitatea de memorare a calculatorului.
OBSERVATIE 2! �
Permutari Circulare
1. Permutarea la dreapta: #include <iostream. h> Void main() {int n, i, v[100], x, k; declaratia Cin>>n; citirea lungimii vectorului For(i=1; i<=n; i++) Cin>>v[i]; citire element For(k=1; k<=n; k++) {x=v[n]; x devine ultimul element For(i=n-1; i>=1; i--) se parcurge vectorul invers V[i+1]=v[i]; V[1]=x; primul element devine x; For(i=1; i<=n; i++) Cout<<v[i]<<“ “; afisarea Cout<<endl; }
2. Permutarea la stanga: #include <iostream. h> Void main() {int n, i, v[100], x, k; Cin>>n; For(i=1; i<=n; i++) Cin>>v[i]; For(k=1; k<=n; k++) {x=v[1]; For(i=2’i<=n; i++) V[i-1]=v[i]; V[n]=x; For(i=1; i<=n; i++) Cout<<v[i]<<“ “; Cout<<endl; }
Sa se afiseze permutarile circulare la stanga, ale unui vector cu n elemente: #include <iostream. h> Void main() {int n, v[100], k, i, x; Cin>>n; For(i=1; i<=n; i++) Cin>>v[i]; For(k=1; k<=n; k++) {x=v[1]; For(i=2’i<=n; i++) V[i-1]=v[i]; V[n]=x; For(i=1; i<=n; i++) Cout<<v[i]<<“ “; Cout<<endl; }
APLICATII VECTORI:
Se da un vector cu n elemente. Determinati: numarul de divizori factori primi. #include <iostream. h> Void main() {int v[100], n, i, x, nr, max, e, d; Cin>>n; For(i=1; i<=n; i++) Cin>>v[i]; For(i=1; i<=n; i++) {x=v[i]; Nr=0; d=2; While(x!=1) {e=0; While(X%d==0) E++; X=x/d; } If(e>0) Nr++; D++; } a[i]=nr; If(nr>max) Max=nr; For(i=1; i<=n; i++) If(a[i]==max) Cout<<v[i]<<“ “; Cout<<endl; }
Construiti si afisati un vector a, cu toate elementele din v, care sunt pare: V=20 13 21 4 -2 -5 10 99 || / a=20 4 -2 10; #include <iostream. h> Void main() {int v[100], m, a[100], n, i; Cin>>n; For(i=1 i; <=n; i++) M=0; For(i=1; i<=m; ++) i++; If(v[i]%2==0) {m++; A[m]=v[i]; } For(i=1; i<=m; i++) Cout<<a[i]<<“ “; Cout<<endl; }
- Slides: 20