jueves, 10 de julio de 2014

EVAP-5 VECTORES


   VECTORES

 El vector 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.


ESTRUCTURA DE UN VECTOR

La estructura de la clase vector esta pensada para operar con arreglos unidimensionales de datos, los elementos de un vector pueden ser manipulados de la misma manera que se hace con la estructura de arreglos tradicionales en C, C++; es decir, los componentes de un vector pueden ser referenciados a través de un indice numérico, de la misma manera que un arreglo cualquiera.


Por ejemplo, si A es un objeto de vector, entonces la instrucción: A(0) ; se refiere al componente 0 (primer elemento) de A. El resultado de todo esto es que usted puede navegar o iterar a través de los componentes de una lista haciendo uso de indices, o si lo prefiere a través de punteros iteradores.


FORMAS DE ACCESO

La forma de acceder a los elementos de la matriz es directa; esto significa que el elemento deseado es obtenido a partir de su índice y no hay que ir buscándolo elemento por elemento (en contraposición, en el caso de una lista, para llegar, por ejemplo, al tercer elemento hay que acceder a los dos anteriores o almacenar un apuntador o puntero que permita acceder de manera rápida a ese elemento).
Para trabajar con vectores muchas veces es preciso recorrerlos. Esto se realiza por medio de bucles. El siguiente pseudocódigo muestra un algoritmo típico para recorrer un vector y aplicar una función 'f(...)' a cada una de las componentes del vector:

i = 0
mientras (i < longitud)
    #Se realiza alguna operación con el vector en la i-ésima posición
    f(v[i])
    i=i+1
fin_mientras

EJERCICIOS SOBRE VECTOR (array)


Que lea 10 números por teclado, los almacene en un array y muestre la suma, resta, multiplicación y división de todos.


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
            int x,tabla[10];
            int sum,res,mul,div;
           
            for (x=0;x<10;x++)
            {
        printf("Introduzca número\n");
        scanf("%d",&tabla[x]);
    }
           
            sum=tabla[0];
    res=tabla[0];
    mul=tabla[0];
    div=tabla[0];
           
            for (x=1;x<10;x++)
            {
        sum=sum+tabla[x];
        res=res-tabla[x];
        mul=mul*tabla[x];
        div=div/tabla[x];
    }
           
            printf("Suma: %d\n",sum);
            printf("Resta: %d\n",res);
            printf("Multiplicación: %d\n",mul);
            printf("División: %d\n",div);
           
    system("PAUSE");     
    return 0;
}

 Que lea 10 números por teclado, los almacene en un array y los ordene de forma ascendente.

#include <stdio.h>
#include <stdlib.h>

int main()
{
  float aux, numeros[10];
  int i,j,n=10;

  for (i=0;i<n;i++){
                    printf("Escriba un número");
                    scanf("%f",&numeros[i]);
      }

  for(i=0;i<n-1;i++)
  {
   for(j=i+1;j<n;j++)
   {
       if(numeros[i]<numeros[j])
       {
           aux=numeros[i];
           numeros[i]=numeros[j];
           numeros[j]=aux;
       }
   }
  }
  for (i=n-1;i>=0;i--){
      printf("%f\n",numeros[i]);
  }
     
  system("PAUSE");     
  return 0;
}

No hay comentarios:

Publicar un comentario