VECTORES
Un vector, también llamado array (arreglo)
unidimensional, es una estructura de datos que permite agrupar elementos del
mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno después de
otro. A este grupo de elementos se les identifica por un mismo nombre y la
posición en la que se encuentran. La primera posición del array es la posición
0.
Podríamos agrupar en un array una serie de
elementos de tipo enteros, flotantes, caracteres, objetos, etc.
Crear un vector en C++ es sencillo, seguimos la siguiente
sintaxis: Tipo nombre [tamanyo];
Ejemplo:
1
2
3
|
int a[5]; // Vector de 5 enteros
float b[5]; // vector de 5 flotantes
Producto product[5]; // vector de 5 objetos de
tipo Producto
|
Podríamos también inicializar el vector en la
declaración:
1
2
3
|
int a[] = {5, 15, 20, 25, 30};
float b[] = {10.5, 20.5, 30.5, 12.5, 50.5}
Producto product[] = {celular, calculadora,
camara, ipod, usb}
|
Como hay 5 elementos en cada array, automáticamente
se le asignará 5 espacios de memoria a cada vector, pero si trato de crear el
vector de la forma int a [], el compilador mostrará un error, porque no indiqué
el tamaño del vector ni tampoco inicialicé sus elementos.
Asigno valores a los elementos de un vector
indicando su posición:
1
2
|
Int a [4] = 30; // le asigno el valor 30 a la
posición 4 del vector.
Product[2].setPrecio(300) // le asigno un precio
de 300 al producto
en la posición 2.
|
Obviamente el método setPrecio() debe de estar
implementado. Para llenar, recorrer e imprimir un vector podemos utilizar un
bucle for:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <iostream>
using namespace std;
int main()
{
int dim;
cout << "Ingresa la
dimension del vector" << endl;
cin >> dim; // Supongamos que
ingrese 10
int vector[dim];
// mi vector es de tamanyo 10
for(int i = 0; i < dim; i++){
vector[i]
= i * 10;
cout
<< vector[i] << endl;
}
return 0;
}
|
La salida del programa mostrará: 0 10 20 30 40 50
60 70 80 90 Fàcil verdad? Bien ahora creen 2 o más vectores y empiecen a hacer
funciones básicas como sumar, restar, buscar, ordenar, moda, etc que ayudan
mucho a ir desarrollando la lógica. No vale copiar y pegar, mejor es practicar,
practicar y practicar.
Aquí una función simple para sumar 2 vectores a y b
y poner el resultado en un tercer vector c:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#include <iostream>
using namespace std;
void sumar(int a[], int b[], int c[],int dim) {
for (int i = 0; i < dim; i++) {
c[i]
= a[i] + b[i];
}
}
void imprimir(int v[], int dim)
{
for(int i = 0; i < dim; i++) {
cout
<< v[i] << endl;
}
cout
<< endl << endl;
}
int main()
{
int
dim;
cout <<
"Ingresa la dimensión" << endl;
cin >> dim;
int a[dim];
int b[dim];
int c[dim];
for(int i = 0; i < dim; i++) {
a[i]
= i * 10;
b[i]
= i * 5;
}
cout
<< "Vector A " << endl;
imprimir(a,
dim);
cout <<
"Vector B " << endl;
imprimir(b, dim);
sumar(a, b, c, dim);
cout <<
"Vector C " << endl;
imprimir(c, dim);
return
0;
}
|
Si ingreso una dimensión de 10, este programa me
daría:
VECTOR A
0 10 20 30 40 50 60 70 80 90
VECTOR B
0 5 10 15 20 25 30 35 40 45
VECTOR C
0 15 30 45 60 75 90 105 120 135
Entonces para tomar en cuenta:
·
Todo vector debe tener definido un
tipo de dato.
·
Todo vector necesita de una dimensión
o tamanyo.
No hay comentarios:
Publicar un comentario