Test Foro de elhacker.net SMF 2.1

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!

#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 (cpp) [Seleccionar]
for(i=0;i<n;i++){
                     cout << "Entre el elemento ...............



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