Thema: Delphi Kürzen eines Bruches

Einzelnen Beitrag anzeigen

felxi

Registriert seit: 12. Mär 2005
29 Beiträge
 
Delphi 5 Professional
 
#1

Kürzen eines Bruches

  Alt 10. Mär 2007, 21:34
Mit der folgenden Funktion ist es möglich, einen Bruch mit Hilfe des ggT vollkommen zu kürzen:

Delphi-Quellcode:
type TBruch = record
  zaehler,nenner :Integer;
  end;

...

Function Kuerzen(zaehler,nenner:integer):Tbruch;
var
  a,b,rest:Integer;
begin

  If (zaehler = 0) or (nenner = 0) then exit;
////größere Zahl bestimmen///////////
  If abs(Zaehler) < abs(Nenner) then
  begin
   a := Zaehler;
   b := Nenner;
  end else
  begin
   b := Zaehler;
   a := Nenner;
  end;
///////////ggT//////////////
  rest:= a mod b;
  while rest<>0 do
  begin
    rest:=a mod b;
    a:=b;
    b:=rest;
  end;
//////Ergebnis ausgeben//////
  Result.zaehler := Round(Zaehler / a);
  Result.nenner := Round(Nenner / a);
end;
  Mit Zitat antworten Zitat