AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Brüche kürzen- wieder einmal

Ein Thema von Spynx · begonnen am 18. Dez 2006 · letzter Beitrag vom 19. Dez 2006
Antwort Antwort
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#1

Re: Brüche kürzen- wieder einmal

  Alt 19. Dez 2006, 17:22
Hallo,

das ist wie Augenpulver: Edit1 und Edit2 sind nunmal keine leicht zu lesenden Komponentennamen. Außerdem musst du nicht alle möglichen Teiler probieren, wenn du zuerst den größten gemeinsamen Teiler bestimmtst:

Delphi-Quellcode:
function GCD(n1, n2: Integer): Integer;
begin
  if n2 = 0
    then Result := n1
    else Result := GCD(n2, n1 mod n2);
end;

procedure Normalize(var Numerator, Denominator: Integer);
var
  n: Integer;
begin
  if Numerator <> 0 then
  begin
    n := GCD(Numerator, Denominator);
    Numerator := Numerator div n;
    Denominator := Denominator div n;
    if Denominator < 0 then
    begin
      Numerator := - Numerator;
      Denominator := - Denominator;
    end;
  end else
  begin
    Numerator := 0;
    Denominator := 1;
  end;
end;
Du musst dir aber zuerst mal ein Konzept ausdenken, exakt wann du von Integer- auf Float-Arithmetik wechselst.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz