invertir el orden de un vector

Iniciado por indict, 22 Junio 2013, 17:07 PM

0 Miembros y 1 Visitante están viendo este tema.

indict

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

indict

Ya encontré el fallo era con la inicialización de los contadores.
Gracias de todas maneras.

leosansan


Cambiar las siguiente línea:

Código (cpp) [Seleccionar]
for(i=0;i<n;i++){
                     cout << "Entre el elemento ...............



Saluditos!