Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ayuda con un problema: borrar elementos de un vector

Estas en el tema de ayuda con un problema: borrar elementos de un vector en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 31/10/2009, 21:20
 
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;
}
  #2 (permalink)  
Antiguo 02/11/2009, 10:03
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: ayuda con un problema: borrar elementos de un vector

el problema radica primero en que no existe ningun case '4', otro problema es que le estas dando en el while la opcion de que ejecute algo siempre y cuando la opcion sea diferente de la opcion 4 del menu....

replantea tu programa
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:24.