Einzelnen Beitrag anzeigen

HackZu

Registriert seit: 27. Aug 2008
15 Beiträge
 
#1

Division by zero - Teilen durch 0

  Alt 24. Sep 2008, 21:55
Auf Geheiß des Moderators und nach erfolgreicher Lösung der vorhergehende Frage, nun eine neue Frage.

Der nächste Fehler scheint hier zu entstehen, es wird die Fehlermeldung Division durch 0 ausgegeben, muss die Methode um die Zähler und Nenner der beiden Brüche erweitert werden?

mBruch

Delphi-Quellcode:
procedure Bruch.KuerzeUm(pFaktor: integer);
begin
       if ((zZaehler MOD pFaktor = 0) and (zNenner MOD pFaktor = 0)) then
         zZaehler := zZaehler div pFaktor;
         zNenner := zNenner div pFaktor;
end;

function Bruch.ggt(zZaehler,zNenner:integer): integer;
begin
  if zZaehler = zNenner then result := zZaehler
  else
  result := ggt(min(zNenner,zZaehler), abs(zZaehler-zNenner));
end;
Die entsprechende Funktion in mBruchrechner sieht so aus:

Delphi-Quellcode:
function Bruchrechner.Addition(pBruch1,pBruch2: Bruch): Bruch;
begin
  result:=Bruch.init;
  result.setzeNenner(pBruch2.gibNenner * pBruch1.gibZaehler);
  result.setzeZaehler(pBruch1.gibZaehler * pBruch2.gibNenner + pBruch2.gibZaehler * pBruch1.gibNenner);
  result.KuerzeVoll;
end;
  Mit Zitat antworten Zitat