
31/10/2009, 21:20
|
| | Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 15 años, 9 meses Puntos: 0 | |
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;
}
|