sábado, 21 de junio de 2014

EVAP5




 

VECTORES


1.-Concepto.
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.
En el lenguaje de programación C, un vector o array es un conjunto de variables que comparten el mismo nombre y el mismo tipo. (Comienza siempre por el 0).
Aquí podemos ver como se definen y se les dan valores a los vectores.

int v[5]; ← definimos cinco variables (v[0],v[1]..v[4])
v[0]=3;
v[1]=443;
v[5-3]=v[0]; ← como 5-3=2 damos a v[2] el mismo valor que v[0])
v[v[0]]=4
Otra forma de definir varios vectores:
v[0]=v[1]=4;




2.-Características  de los vectores.


- Homogéneos = Datos del mismo tipo.
- Ordenados = Siempre va en el orden de sus casillas; no se salta ninguna.
- Finito = Tiene un fin.
- Tamaño fijo.
 


En C la cantidad de elementos que podrá contener un vector es fijo, y en principio se define cuando se declara el vector. Los vectores se pueden declarar de la siguiente forma:


                                           tipo_elemento nombre[largo];





 



3.- Algoritmo.


Inicio                                                                   
Entero= i , vector [10]
para i = 0, 9 , 1
leer= (vector [i])                                                         
fin para
para i = 0, 9 , 1
mostrar= (vector [i])
fin para
fin programa
.










4.- Ejemplo.



Ejemplo 1: El producto escalar de dos vectores
 
 
 
#include <stdio.h>
 
double producto_escalar(double v1[], double v2[], int d);
 
int main()
{     
      const int largo = 3;
      double vector_1[] = {5,1,0};
      double vector_2[] = {-1,5,3};
 
      double resultado = producto_escalar(vector_1, vector_2, largo);
 
      // imprime el resultado
      printf("(%f, %f, %f) . (%f, %f, %f) = %f\n",
           vector_1[0], vector_1[1], vector_1[2],
           vector_2[0], vector_2[1], vector_2[2],
           resultado);
      return 0;
}





Ejemplo 2: Función para sumar dos vectores  a y b y que el resultado sea un tercer vector c:



#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;
}























































No hay comentarios:

Publicar un comentario