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