[ Foro de Pascal ]

Variables

20-May-2016 00:10
Invitado (LL)
1 Respuestas

no se porque me dice runtime error al correr el programa, esto es lo que trataba de hacer :Dada la variable entera Posición, eliminar de la pila Secuencia el elemento que se
encuentre en dicha posición.


program eliminar;

uses estructu;

var
SECUENCIA:pila;
POSICION:Integer;

procedure ELIMINARPOSICION(var COPIA:Pila; UBICACION:Integer);

var
DESCARTE,AUX:Pila;
POZI:Integer;

begin
	POZI:=0;
	While not pilavacia(COPIA) Do
	    if UBICACION<>POZI Then begin
		    Apilar(AUX,Desapilar(COPIA));
		    POZI:= POZI + 1;
	   end
	   else begin
		    Apilar(DESCARTE,Desapilar(COPIA));
           end;
    While not Pilavacia(AUX) do
        apilar(COPIA,Desapilar(AUX));
end;

begin
    ReadPila(SECUENCIA);
    Write('Introduzca la posicion(numero) que quiera eliminar de la pila secuencia:');
	Readln(POSICION);
	ELIMINARPOSICION(SECUENCIA,POSICION);
	WritePila(SECUENCIA);
END.


 


20-May-2016 23:36
Nacho Cabanes (+74)

No se puede probar el programa porque faltan procedimientos. Aun así, un "runtime error" (ayudaría saber el mensaje correspondiente o su número) se puede deber a que desbordes el array, mirando más allá de su último elemento o antes del primero.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)