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 despues 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 sintaxix
2 | float b[5];//vector de 5 flotantes |
3 | Producto produc[5];//vector de 5 objetos de tipo Producto |
1 | int a[] = {5,15,20,25,30}; | |
2 | float b[] = {10.5,20.5,30.5,12.5,50.5} |
3 | Producto product[] = {celular,calculadora,camara,ipod,usb} |
Para llenar, recorrer e imprimir un vector podemos utilizar un bucle for:
01 | #include <iostream> |
02 | using namespace std; |
03 | ||
04 | int main() |
05 | { | |
06 | int dim; |
07 | cout << "Ingresa la dimension del vector" << endl; | |
08 | cin >> dim; // Supongamos que ingrese 10 |
09 | int vector[dim]; // mi vector es de tamanyo 10 | |
10 |
11 | for(int i=0;i < dim;i++){ | |
12 | vector[i] = i * 10; |
13 | cout << vector[i] << " "; | |
14 | } | |
15 | ||
16 | return 0; |
17 | } |
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.
Vector A0 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.
El código de arriba se puede mejorar muchísimo con objetos y clases, este es solo un pequeño ejemplo.
MATRICES: Una matriz es un vector de vectores o un también llamado array bidimensional. La manera de declarar una matriz es c++ es similar a un vector:
1 | int matriz[fils][cols]; |
int es el tipo de dato, matriz es el nombre del todo el conjunto de datos y debo de especificar el numero de filas y columnas. Las matrices también pueden ser de distintos tipos de datos como char, float, double,etc.
Las matrices en c++ se almacenan al igual que los vectores en posiciones consecutivas de memoria. Usualmente uno se hace la idea que una matriz es como un tablero. Pero internamente el manejo es como su definicion lo indica, un vector de vectores, es decir, los vectores estan uno detras del otro juntos.
La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2 subindices que van en los corchetes. Si Coloco int matriz[2][3]=10; //estoy asignando al cuarto elemento de la tercera fila el valor 10. No olvidar que tanto filas como columnas se enumeran a partir de 0.
Bueno y para recorrer una matriz podemos usar igualmente un bucle. En este caso 2 for
1 | for(int i=0;i<fils;i++){ | |
2 | for(int j=0;j<cols;j++){ |
3 | matriz[i][j] = i % j; | |
4 | } |
5 | } |
PUNTEROS: El valor de todas las variales que manejamos en nuestros programas se almacenan en memoria y tienen una dirección. Un puntero es una variable especial que apunta a la dirección de memoria de una variable. El puntero tiene a su vez su propia dirección. Todas estas direcciones tienen un formato hexadecimal.
Los punteros son herramientas muy poderosas con muchas utilidades y enormes ventajas como veremos más adelante. A grandes rasgos, un puntero me permite desplazarme en la memoria, apuntar, redireccionar a ciertas variables, funciones, métodos, objetos sin necesidad de mover grandes bloques de datos, lo cual nos ahorra muchísimo el consumo de memoria en los programas.
Un puntero se debe declarar de acuerdo al tipo de dato al que apunta. Ejem:
1 | int *var; //Un puntero llamado var que podra apuntar a cualquier variable de tipo entero. | |
2 | char *u;//puntero de tipo char |
3 | Persona *per;//puntero de tipo persona |
No hay comentarios:
Publicar un comentario