/*ejercicio con pila (lifo)*/
var
aux, pila: vector [100] numerico
x, tope, opc, num, sw: numerico
inicio
cls()
imprimir ("opcion")
imprimir ("\n1, ingresar, 2. eliminar, 3. salir")
tope=0
repetir
leer (opc)
si (opc==1){
si (tope==0 or tope<100){
tope=tope+1
imprimir ("\ndigite un numero")
leer (pila[tope])
sino
imprimir ("\nla pila esta llena")
}
sino
si (opc==2){
si (tope==0){
imprimir ("\nla fila esta bacida")
sino
imprimir ("\ndigite valor a eliminar")
leer (num)
sw=0
x=1
mientras (sw==0 and x<=tope){
si(pila[x]==num){
sw=1
}
x=x+1
}
si (sw==0){
imprimir ("\ndato no se encuentra en la pila")
sino
x=1
mientras (tope>0){
si (pila[tope] <> num){
aux[x]=pila[tope]
x=x+1
}
pila[tope]=0
tope=tope-1
}
mientras (x>0){
tope=tope+1
pila[tope]=aux[x]
x=x-1
}
}
}
}
}
imprimir ("\n opcion")
hasta (opc==3)
fin
No hay comentarios:
Publicar un comentario