![]() |
ggt und kgV von 3 Zahlen[PLEASE HELP]
Hallo! Ich arbeite erst seit 2 Monaten mit Delphi(5 Pro). Ich muss jetzt ein Programm erstellen, das ggT und kgV ausrechnet mit 3 Zahlen. GgT habe ich erstmal raus. Aber ich brauche einen Denkanstoß oder direckte Hilfe für kgV. :warn: :glaskugel:
Delphi-Quellcode:
so das ist die ggT-Berechnung die funktoniert. Im Vorraus danke :mrgreen:
procedure TForm1.Button1Click(Sender: TObject);
var a, b, d, c, kgV, ggT:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); d:=strroint(edit5.text); c:=a*b*c; while b<>0 do begin if a>b then a:=a-b else b:=b-a; if a>d then a:=a-d else d:=d-a; if b>d then b:=b-d else d:=d-b; end; ggT:=a; {kgv:= c div ggT; edit4.text:=inttostr(ggT); edit3.text:=inttostr(kgV)}; end; [edit=SirThornberry]quote-tags durch delphi-tags ersetzt - Mfg, SirThornberry[/edit] |
Re: ggt und kgV von 3 Zhalen[PLEASE HELP]
Hi,
erstmal willkommen in der DP. Direkt eine Anmerkung: Bitte nicht den Zitat Knopf, sondern den Delphi-Code-Knopf verwenden. Die Suche in der DP ergab folgendes:
Delphi-Quellcode:
aus diesem Thread:
(*
GGT & KGV: Sollte der Zurückgegebene Wert -1 sein, dann ist ein Fehler aufgetreten. by c113plpbr *) function GGT(a, b : integer) : integer; var c, f : integer; begin Result := -1; c := 1; try while not (c = 0) do begin f := a div b; c := a - b * f; if not (c = 0) then begin a := b; b := c; end; end; except //Ein Fehler ist aufgetreten exit; end; result := b; end; function KGV(a, b : integer) : integer; var c : integer; begin Result := -1; c := GGT(a, b); if not (c = -1) then Result := a * b div c; end; ![]() Gruß Reli |
Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
Hi! Also das ist ein Programm für 2 Zahlen, und ich brauche einz für 3. Für 2 habe ich schon selber geschriebn. Aber trotzdem danke =)
|
Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
oh sorry das hatte ich überlesen. aber die beiden funktionen sollten ja auch anpassbar sein :-)
dann lass uns doch an deiner lösung teil haben. vielleicht kommt ja wieder jemand auf die idee das ganze mit 3 zahlen machen zu wollen bzw. vielleicht magst es direkt für n zahlen erweitern? gruß reli |
Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
Hi.
Mal so überlegt: Wenn Du drei Zahlen hast, ist das doch das gleiche wie zwei Zahlen und eine weitere. So könntest Du doch für die ersten zwei berechnen, dann das Ergebnis nehmen und mit der dritten wiederrum ein neues Ergebnis bekommen. Michael |
Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
Als Grundlage habe ich dieses Programm genohmen:
Delphi-Quellcode:
Daraus habe ich eine Überleitung zum ggT für 3 Zahlen gemacht. Aber bei kgV wird nur Quatsch ausgegeben.
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c, kgV, ggT:integer; begin a:=strtoint(edit1.text); b:=strtoint(edit2.text); c:=a*b; while b<>0 do begin if a>b then a:=a-b else b:=b-a; end; ggT:=a; kgv:= c div ggT; edit4.text:=inttostr(ggT); edit3.text:=inttostr(kgV); end |
Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
Zitat:
KoS |
Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
Zitat:
![]() |
Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
Zitat:
Ach sooo. Danke für den Denkanstoß KoS |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 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 by Thomas Breitkreuz