Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: indict en 22 Junio 2013, 17:07 pm



Título: invertir el orden de un vector
Publicado por: indict en 22 Junio 2013, 17:07 pm
Hola,
quiero hacer un programa que invierte un vector,

lo he echo pero no lo hace correctamente, ¿Qué errada hay? :S

¡Gracias!

Código:
#include<iostream>
#include<vector>
using namespace std;

    void reverse(vector<int>&A){
     int i=0;
     int last = A.size()-1;
     
    while(i<last){
             int z=A[i];
             A[i]=A[last];
             A[last]=z;
             i++;
             last=last-1;
             }   
         }
   
   
    int main(){
    int n,i,e;
    cout << endl << "Entra el numero de elementos del vector...";
    cin >> n;
    vector<int> v(n);
    for(i=1;i<=n;i++){
                     cout << "Entre el elemento " << i << " del vector...";
                     cin >> e;
                     v[i] = e;}
   
    reverse(v);
    for(i=1;i<n;i++){
    cout<<v[i]<<",";}
   
    system("pause");
    return 0;}
   


Título: Re: invertir el orden de un vector
Publicado por: indict en 22 Junio 2013, 17:29 pm
Ya encontré el fallo era con la inicialización de los contadores.
Gracias de todas maneras.


Título: Re: invertir el orden de un vector
Publicado por: leosansan en 22 Junio 2013, 17:34 pm

Cambiar las siguiente línea:

Código
  1. for(i=0;i<n;i++){
  2.                     cout << "Entre el elemento ...............


Saluditos!
(http://i1280.photobucket.com/albums/a497/leosansan/leosan1/leones%20peques/leonpersonajepeque_zps25f3622f.jpg)