Eliminar un nodo

mrpolo
02 de Agosto del 2005
Hola a todos espero que me puedan ayudar tengo un programa de prueba para eliminar un nodo, entonces aqui tengo el programa pero el problema es que cuando lo elimino me aparece por pantalla un numero negativo no se cuanto en vez de que el nodo no me aparezca ¿como puedo hacer para qeu el nodo no me aparesca? Gracias de antemano!

#include<iostream.h>
#include<math.h>
#include<stdlib.h>
#include<process.h>
#include<conio.h>
void main(){
struct elemento{
elemento *sig;
elemento *pre;
int dato;
};
elemento *primero, *lista, *siguiente, *despues;
primero=lista=siguiente=despues=NULL;
int n, i, z;
char o;
cout<<"Introduzca la cantidad de nodos ";
cin>>n;
primero=new elemento;
siguiente=new elemento;
despues=new elemento;
lista=new elemento;
for(i=2;i<=n;i++){
(*primero).dato=1;
(*siguiente).dato=i*i*i;
(*primero).sig=siguiente;
(*primero).pre=siguiente;
lista=siguiente;

cout<<(*siguiente).dato<<endl;
}
cout<<"Introduzca el dato que desea eliminar " ;
cin>>z;

for(i=2;i<=n;i++){
lista=siguiente;
(*primero).dato=1;
(*siguiente).dato=i*i*i;
(*primero).sig=siguiente;
(*primero).pre=siguiente;
if(z==(*siguiente).dato){
delete(siguiente);

}
cout<<(*lista).dato<<endl;
}




getch();
}