EVP5

VECTORES

Para comenzar, vamos a presentar un ejemplo sencillo, el cual consistirá en crear un vector de números de punto flotante. Al vector creado le agregaremos una serie de valores los cuales posteriormente serán sumados y desplegados en la pantalla del monitor. Para nuestro ejemplo vamos a emplear los métodos push_back(para agregar los números), size (para obtener el número de componentes en el vector), e iteraremos por medio de índices numéricos. Veamos.

// Demostracion del uso de un vector
// probado en: Dev-C++ 4.9.9.2
 
#include <cstdlib>
#include <iostream>
#include <vector>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    char buffer[80];
    double suma;
    vector<double> v;
 
    v.push_back(999.25);
    v.push_back(888.50);
    v.push_back(777.25);
 
    suma = 0;
    for(int i = 0; i < v.size(); i++)
    {
        suma += v[i];
        sprintf(buffer, "%10.2f", v[i]);
        cout << buffer << endl;
    }
 
    cout << "----------" << endl;
    sprintf(buffer, "%10.2f", suma);  
    cout << buffer << endl; 
 
    cin.get();
    return EXIT_SUCCESS;
}
De acuerdo con la referencia de ayuda de Dev-C++ es más seguro emplear el método at() en lugar el eperador [] para leer o escribir componentes en un vector, ya que at() no permite índices fuera del vector, y el operador [] sí. Por ejemplo, si V es un vector cuyo número de componentes es de 3, entonces la instrucción V[5]; es sumamente peligrosa ya que el índice 5 está fuera del rango (0 a 2 ) de los componentes de V; por otro lado, la instrucción V.at(5); también está fuera de rango, salvo que at() en lugar de leer o escribir el componente referenciado lanzará (throw) un error de excepción, de tal manera que en el programa se pueda controlar la condición de error por medio de un catch. El método at() actua de manera parecida al operador [], y para ver un ejemplo de su uso compile y ejecute el siguiente programa.
// Demostracion del uso del método at()
// probado en: Dev-C++ 4.9.9.2
 
#include <cstdlib>
#include <iostream>
#include <vector>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    vector<char> v;
 
    // llenamos el vector v con valores desde la 'A' hasta la 'Z'
    for (int x = 'A'; x <= 'Z'; x++) v.push_back(x);
 
    // despliegue de los elementos del vector v
    // mediante el operador [].
    for(int i = 0; i < v.size(); i++)
        cout << v[i] << " ";
 
    // despliegue de los elementos del vector v
    // mediante el método at().
    for(int i = 0; i < v.size(); i++)
        cout << v.at(i) << " ";
 
    cout << endl; 
 
    cin.get();
    return EXIT_SUCCESS;
}

Ejemplo :

0 comentarios:

Publicar un comentario

Copyright © 2010 molinavilchezjose | Design : Noyod.Com | Images: Moutonzare