1
« en: Lunes 28 de Diciembre de 2009, 12:01 »
Buenas, antes de todo decir ke soy nuevo en esto asi que no tengo mucha idea^^.
Me ha propuesto un ejercicio el cual consiste en borrar el ultimo numero de una lista dinamica con apuntadores.
Y el caso es que no se hacerlo. Aquí está el programa que tenía pensado utilizar:
with tipos; Use tipos;
Procedure Elimina_ultimo (L: in out a_entero)is
ant , act : a_entero:= L;
begin
While act /= null loop
ant:= act;-- anterior por detras del actual
act:= act.sig;
end loop;
ant:= null;
end Elimina_ultimo;
El problema que tengo es que el apuntador act queda apuntando a el null que indica que la lista ha terminado y el ant queda apuntando al último. Con eso no consigo borrar el último ya que necesitaria que un apuntador que apuntara al penultimo para hacer ant.sig:=null; bueno si la solución es mas sencilla y alguien me echa una mano para hacer este programilla se lo agradecería ^.^.
Gracias!!!