Pascal/Turbo Pascal - Problema en Pascal de repeticion

 
Vista:
sin imagen de perfil

Problema en Pascal de repeticion

Publicado por Agustin (1 intervención) el 27/04/2018 19:47:44
Buenas, es mi primer tema.
Busque el foro porque necesito resolver este problema y no encuentro ayuda en ningun lado
La consigna es: dada una pila, eliminar sus elementos repetidos
mi razonamiento fue el siguiente: apilar el tope de la pila dada y compararlo con el siguiente elemento, si coinciden, descartarlo, si no, apilarlo en una pila intermedia. Hasta que dada esté vacia, y empezar de nuevo el bucle
Soy novato en la programacion, si no se nota :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var dada, original, intermedio, repetido: pila;
begin
    inicpila (intermedio, '');
    inicpila (repetido, '');
    inicpila (original, '');
    readpila (dada);
    while (not pilavacia (dada)) do
        begin
            apilar (original, desapilar (dada));
            while (not pilavacia (dada)) do
                begin
                    if tope (dada) = tope (original) then
                        apilar (repetido, desapilar (dada));
                    if tope (dada) <> tope (original) then
                        apilar (intermedio, desapilar (dada));
                end;
            end;
    if pilavacia (dada) then
        apilar (dada, desapilar (intermedio));
end.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder