Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Mensaje iniciado por: lolaiza en 27 Abril 2018, 00:19 AM

Título: pascal: ";" expected but "ELSE" found pero no lo entiendo
Publicado por: lolaiza en 27 Abril 2018, 00:19 AM
ejercicio2.pas:21 Fatal: Syntax error, ";" expected but "ELSE" found


program procedimientos;  


procedure EliminarRepetidos (var A, B, C, D, E:  pila);
begin
if not pilavacia (A) and not pilavacia (B) then
    while not pilavacia (A) do
      if tope(A )= tope(B) then
       apilar (D, desapilar (A));
      else
       apilar (E, desapilar (A));
     apilar (E, desapilar (B));
   else
    if not pilavacia (A) then
      apilar (C, desapilar (A);
     else
      apilar (C, desapilar(B));

end;
Título: Re: pascal: ";" expected but "ELSE" found pero no lo entiendo
Publicado por: engel lex en 27 Abril 2018, 00:21 AM
Código (Pascal) [Seleccionar]
procedure EliminarRepetidos (var A, B, C, D, E:  pila);
begin
 if not pilavacia (A) and not pilavacia (B) then
   while not pilavacia (A) do
     if tope(A )= tope(B) then
      apilar (D, desapilar (A)) <--------------- Error de sintaxis, se esperaba ";" pero se consiguió "else"
     else
      apilar (E, desapilar (A));
  apilar (E, desapilar (B));
  else
   if not pilavacia (A) then
     apilar (C, desapilar (A);
    else
     apilar (C, desapilar(B));
end;



tema corregido (los codigos deben llevar etiquetas GeSHi) y elimiado el otro tema por ser duplicado
Título: Re: pascal: ";" expected but "ELSE" found pero no lo entiendo
Publicado por: lolaiza en 27 Abril 2018, 02:14 AM
ya probé y me sigo apareciendo el error
Título: Re: pascal: ";" expected but "ELSE" found pero no lo entiendo
Publicado por: Serapis en 27 Abril 2018, 02:54 AM
La sentencia 'while', exige una 'repeat', y no una 'else'

...y por favor, cuando pongas código sea del lenguaje que sea, usa las 'etiqeutas GESHI, que aparece en la ventana de redacción del mensaje... eliges el lenguaje adecuado y pegas el código, dentro así resultará más claro y legible.

(las etiquetas también puedes escribirlas a mano... son las siguientes, he añadido un espacio después de '[' para que resulten visibles).

[ code=pascal]
  Tu código aquí dentro...
[ /code]