Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Probleme mit der Umgekerten Polnischen Notation...

  Alt 7. Jul 2009, 14:10
Sorry, aber deine Prozedur ist mir zur verkorkst bei der Hitze, da schreib ich lieber schnell eine neue.
Delphi-Quellcode:
function IsOperator(const AValue: string);
var
  dummy: Integer;
begin
  Result := not TryStrToInt(AValue, dummy);
end;

procedure Swap(var AValue1, AValue2: string);
var
  temp: string;
begin
  temp := AValue1;
  AValue1 := AValue2;
  AValue2 := tmp;
end;

procedure SortTokensToUPN;
var
  i:integer;
begin
  i := High(Tokens);
  if (i > 2) and IsOperator(Tokens[i]) then
  begin
    // Ein Operrator ist am ende der Funktion => Syntax Error!
    Writeln('Unerwarteter Opperator: "' + Tokens[i] + '" => Syntax Error!');
    Exit;
  end;
  Dec(i);
  while i > 2 do
  begin
    if IsOperator(Tokens[i]) then
      Swap(Tokens[i], Tokens[i + 1]);
    Dec(i);
  end;
end;
  Mit Zitat antworten Zitat