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

Eliminar un elemento de una lista en C

Estas en el tema de Eliminar un elemento de una lista en C en el foro de C/C++ en Foros del Web. Pues esa es mi duda, necesitaría el código en C ( uso borland ) para eliminar un elemento concreto de una lista en C ( ...
  #1 (permalink)  
Antiguo 04/06/2010, 05:52
 
Fecha de Ingreso: mayo-2010
Mensajes: 41
Antigüedad: 14 años
Puntos: 0
Eliminar un elemento de una lista en C

Pues esa es mi duda, necesitaría el código en C ( uso borland ) para eliminar un elemento concreto de una lista en C ( lista simple ), porque mi codigo me falla...

Código C:
Ver original
  1. void BorrarUnElemento(struct Nodo **cab){
  2.     int sw=0, cont=1, pos=1;
  3.     char nombre[20];
  4.    struct Nodo *q, *r;
  5.    q = *cab;
  6.    r = q;
  7.    printf("\n\tNombre de la persona a borrar: ");
  8.    scanf("%s", &nombre);
  9.    fflush(stdin);
  10.    // Encontrar la posición.
  11.    while(q != NULL && sw==0) {
  12.     if(strcmp(nombre,q->nom)==0){
  13.         sw=1;
  14.       } else {
  15.         q = q->sig;
  16.             cont++;
  17.       }
  18.    }
  19.    // Eliminación...
  20.    sw=0;
  21.    while(r != NULL && sw==0) {
  22.     if(pos = cont - 1){
  23.         q = r->sig;
  24.          r->sig = q->sig;
  25.          free(q);
  26.          sw=1;
  27.       }
  28.       q = q->sig;
  29.       r = r->sig;
  30.       pos++;
  31.    }
  32. }
  #2 (permalink)  
Antiguo 04/06/2010, 10:22
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Eliminar un elemento de una lista en C

En la linea 22 estas asignando la variable pos.

Etiquetas: eliminar, lista
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 21:47.