Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[pascal] Program ONP zamiana wyrażeń - drobny błąd

Ostatnio zmodyfikowano 2013-12-02 19:21
Autor Wiadomość
pawel93
Temat założony przez niniejszego użytkownika
[pascal] Program ONP zamiana wyrażeń - drobny błąd
» 2013-12-02 19:21:03
Dobra po wielu godzinach spedzonych nad tym w miare działa ... zamykam temat mozna usunac

Zrobiłem program ale cos mi nie działa jak chce np wpisac 2 + 5 = to zamiast wypisac 2 5 + = to wypisuje 2 + 5 = i nie wiem co zle robie gdzie tu blad moze byc bo ja już nie mam pojęcia : /
program project1;

var
stos : string;
el : string;
ws : integer;
Begin
read(el);
ws := 1;
repeat
if ((el[1] >= '0') and (el[1] <= '9'))
then write(el + ' ')
else Begin
case el[1] of
'+' : Begin End;
'-' : Begin
while((ws <> 1) and (stos[ws - 1] <> '(')) do
begin
ws := ws -1;
write(stos[ws] + ' ');
end;
stos[ws] := el[1];
ws := ws + 1;
break;
End;
'*': Begin End;
'/': Begin
while ( (ws <> 1) and ( stos[ws - 1] <> '(' ) and (stos[ws -1] <> '+') and (stos[ws-1]<>'-')) do
begin
ws := ws - 1;
write(stos[ws] + ' ');
end;
stos[ws] := el[1];
ws := ws + 1;
break;
End;
'(':Begin
stos[ws] := '(';
ws := ws + 1;
break;
End;
')':Begin
while ( stos[ws-1]<> '(') do
begin
ws := ws - 1;
write(stos[ws] + ' ');
break;
end;

End;
'=':Begin
while (ws <> 1) do
begin
ws := ws - 1;
write(stos[ws]+ ' ');
end;
writeln('=');
break;
End;
End;
End;




until (el[1] <> '='  );

End.
         
P-98104
« 1 »
  Strona 1 z 1