Está en la página 1de 3

Vectores, Matrices y Punteros en c++

VECTORES Un vector, tambin 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 posicin en la que se encuentran. La primera posicin del array es la posicin 0. Podramos 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: Tipo nombre[tamanyo]; Ejm: 1 int a[5];//Vector de 5 enteros 2 float b[5];//vector de 5 flotantes 3 Producto product[5];//vector de 5 objetos de tipo Producto Podramos tambin inicializar el vector en la declaracin: 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} Como hay 5 elementos en cada array, automticamente 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 tamao del vector ni tampoco inicializ sus elementos. Asigno valores a los elementos de un vector indicando su posicin: 1 int a[4] = 30; // le asigno el valor 30 a la posicin 4 del vector, es decir, al 5to elemento. Para llenar, recorrer e imprimir un vector podemos utilizar un bucle for: 01 #include <iostream.h> 04 int main() 05 { 06 07 08 09 10 int dim; cout << "Ingresa la dimension del vector" << endl; cin >> dim; // Supongamos que ingrese 10 int vector[dim]; // mi vector es de tamanyo 10

11 for(int i=0;i < dim;i++){ 12 vector[i] = i * 10; 13 14 15 } La salida del programa mostrar: 0 10 20 30 40 50 60 70 80 90 Aqu una funcin simple para sumar 2 vectores a y b y poner el resultado en un tercer vector c 01 #include <iostream> 04 void sumar(int a[], int b[], int c[],int dim){ 05 06 07 08 } 09 10 void imprimir(int v[],int dim) 11 { 12 13 14 15 16 } 17 18 int main() 19 { 20 21 22 23 24 25 26 27 28 29 30 31 32 } for(int i=0;i<dim;i++){ a[i] = i * 10; b[i] = i * 5; int a[dim]; int b[dim]; int c[dim]; int dim; cout << "Ingresa la dimension" << endl; cin >> dim; for(int i=0;i<dim;i++){ cout << v[i] << " "; } cout << endl << endl; for (int i=0; i<dim; i++) { c[i]=a[i] + b[i]; } cout << vector[i] << " "; }

33 34 35 36 37 38 39 40 41 42 43 44 }

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;

Este programa me botara (si ingreso una dimensin de 10): 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 dimensin o tamao. MATRICES Una matriz es un vector de vectores o un tambin 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 tambin 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.

También podría gustarte