Necesitas crear dos punteros, uno apuntando al que quieres borrar y otro al anterior a este, primero lees el sig del que vas a borrar y modificas el sig del anterior al que vas a borrar con el que has leído, de esta forma el que borras esta fuera de la lista y ya puedes borrarlo.<br>
<br><br><div class="gmail_quote">El 20 de abril de 2010 00:43, Cristian David Villota Jacome <span dir="ltr"><<a href="mailto:cristian.vj23@hotmail.com">cristian.vj23@hotmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">




<div>
Hola Amigos:<div><br></div><div>Estoy programando una estructura de datos, bueno una lista con nodos que solicitan nombre y telefono; bueno he podido agregar nodos y mostrar en pantalla los que tengo pero no puedo eliminar un nodo, si alguien me puede ayuar con el algoritmo para hacerlo lo agradezco de antemano.</div>
<div><br></div><div><br></div><div><div>#include<stdio.h></div><div>#include<conio.h></div><div>#include<stdlib.h></div><div><br></div><div><br></div><div>struct agenda</div><div>{</div><div> char nom[20];</div>
<div> char tel[12];</div><div> struct agenda*sig;</div><div>};</div><div><br></div><div><br></div><div><br></div><div>struct agenda*primero,*ultimo;</div><div><br></div><div><br></div><div><br></div><div><br></div><div>void mostrar_menu()</div>
<div>{</div><div> printf("\n\n\t\tMENé");</div><div> printf("\n\n\t1.A¤adir Elemento");</div><div> printf("\n\t2.Borrar Elemento");</div><div> printf("\n\t3.Mostrar Lista");</div><div>
 printf("\n\t4.Salir");</div><div><br></div><div> printf("\n\n\n\tElige una opci˘n: ");</div><div> fflush(stdout);</div><div>}</div><div><br></div><div><br></div><div><br></div><div>void anadir_elemento()</div>
<div>{</div><div> struct agenda*nuevo;</div><div> nuevo=(struct agenda*)malloc(sizeof(struct agenda));</div><div><br></div><div> if(nuevo==NULL)</div><div>  {</div><div>   printf("NO HAY MEMORIA DISPONIBLE");</div>
<div>  }</div><div><br></div><div> printf("\nNuevo Elemento\n");</div><div><br></div><div><br></div><div> printf("Nombre: ");</div><div> fflush(stdout);</div><div> gets(nuevo->nom);</div><div><br></div>
<div> printf("\nTelefono: ");</div><div> fflush(stdout);</div><div> gets(nuevo->tel);</div><div><br></div><div> nuevo->sig=NULL;</div><div><br></div><div> if(primero==NULL)</div><div> {</div><div>  printf("\nPrimer Elemento\n");</div>
<div>  primero=nuevo;</div><div>  ultimo=nuevo;</div><div> }</div><div> else</div><div> {</div><div>  ultimo->sig=nuevo;</div><div>  ultimo=nuevo;</div><div> }</div><div> getch();</div><div> clrscr();</div><div>}</div>
<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>///////////////////////</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>void mostrar_lista()</div><div>{</div>
<div> struct agenda*auxiliar;</div><div> int i;</div><div> i=0;</div><div> auxiliar=primero;</div><div> printf("\n\nMostrando lista completa\n");</div><div><br></div><div> while(auxiliar!=NULL)</div><div> {</div>
<div>  printf("Nombre: %s,    Telefono: %s\n",auxiliar->nom,auxiliar->tel);</div><div>  auxiliar=auxiliar->sig;</div><div>  i++;</div><div> }</div><div>  if(i==0)</div><div>  {</div><div>   printf("\n\nLista vacia\n");</div>
<div>  }</div><div>  getch();</div><div>  clrscr();</div><div>}</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>void main()</div><div>{</div><div> clrscr();</div><div> char op;</div><div>
<br></div><div> primero=(struct agenda*)NULL;</div><div> ultimo=(struct agenda*)NULL;</div><div><br></div><div> do{mostrar_menu();op=getch();</div><div><br></div><div> switch(op)</div><div>  {</div><div>   case '1': anadir_elemento();</div>
<div>   break;</div><div><br></div><div>   case '2': printf("\n No disponible....\n");</div><div>   break;</div><div><br></div><div>   case '3': mostrar_lista();</div><div>   break;</div><div><br>
</div><div>   case '4': exit(1);</div><div><br></div><div>   default: printf("opcion no valida\n");</div><div>   break;</div><div>  }</div><div> }while(op!='4');</div><div><br></div><div><br></div>
<div> getch();</div><div>}</div><div><br></div><div><br></div><div><br></div></div>                                           <br><hr>Get news, entertainment and everything you care about at Live.com. <a href="http://www.live.com/getstarted.aspx" target="_blank">Check it out!</a></div>

<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br>