Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2009, 21:20
razlher
 
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 15 años
Puntos: 0
Pregunta ayuda con un problema: borrar elementos de un vector

Hola
quisiera que me ayuden con este problema, el procediemiento borrar no funciona, cuando escojo esa opcion y luego agrego la posiciona borrar el programa termina. No se cual sea mi error ,por favor diganme cual es?

Código:
#include<iostream>
#include<conio.h>
#define max 15
using namespace std;
void menu();
void raya();
void ingresovector(int a[max],int n);
void mostrarvector(int a[max],int n);
void borrar(int a[max], int &num_elem,int p);

int main()
{
    system("color 1a");
    int p,num_elem,n,dato,pos;
    char opcion;
    int a[max];
    do{
        menu();
        opcion=getch();
        switch(opcion)
        {
                      case'1':system("cls");
                      raya();
                      cout<<" \tIngreso de numero de elementos al vector: ";
                      cin>>num_elem;
                      ingresovector(a,num_elem);
                      getch();
                      break;
                      case'2':system("cls");
                      mostrarvector(a,num_elem);
                      getch();
                      break;
                      case'3':system("cls");
                      raya();
                      cout<<"\tIngrese la posicion del elemento que desea eliminar ";
                      cin>>pos;
                      borrar(a,num_elem,pos-1);
                      getch();
                      break;
                      
        }system("cls");
    }while(opcion!='4');
    
    return 0;
    
}
void menu()
{
     raya();
     cout<<"\t************** Vectores ***************\n\n";
     cout<<"\tOperaciones con vectores\n";
     cout<<"\tCapturar datos ............. [1]\n";
     cout<<"\tMostrar vector ............. [2]\n";
     cout<<"\tInsertar dato en el vector.. [3]\n";
     cout<<"\tBorrar dato del vector.......[4]\n";
     cout<<"\tAgregar dato al vector.......[5]\n";
     cout<<"\tSalir .......................[6]\n\n";
     cout<<"\tIngrese opcion: ";
}
     
     
     
void raya()
{
     cout<<"\n";
     cout<<"\t----------------------------------------";
     cout<<"\n";
}
void ingresovector(int a[max],int n)
{
     cout<<"\n";
     cout<<" \tIngrese datos:\n ";
     for(int i=0;i<n;i++)
     {  cout<<" \tDato["<<i+1<<"]: ";
             cin>>a[i];
     }
}
void mostrarvector(int a[max],int n)
{
     cout<<"\n";
     cout<<" \tEl arreglo ingresado es:\n ";
     for(int i=0;i<n;i++)
     {
         cout<<"\tDato["<<i+1<<"]: ";    
         cout<<a[i]<<"\n";
         
     }
     
}

void borrar(int a[max], int &num_elem,int p)
{
     for(int i=p;p<=num_elem-1;i++)
     {
             a[i]=a[i+1];
     }
     num_elem=num_elem-1;
}