Foro de elhacker.net

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
  1. procedure EliminarRepetidos (var A, B, C, D, E:  pila);
  2. begin
  3.  if not pilavacia (A) and not pilavacia (B) then
  4.    while not pilavacia (A) do
  5.      if tope(A )= tope(B) then
  6.       apilar (D, desapilar (A)) <--------------- Error de sintaxis, se esperaba ";" pero se consiguió "else"
  7.      else
  8.       apilar (E, desapilar (A));
  9.   apilar (E, desapilar (B));
  10.   else
  11.    if not pilavacia (A) then
  12.      apilar (C, desapilar (A);
  13.     else
  14.      apilar (C, desapilar(B));
  15. 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]