Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ggt und kgV von 3 Zahlen[PLEASE HELP] (https://www.delphipraxis.net/123569-ggt-und-kgv-von-3-zahlen%5Bplease-help%5D.html)

Konstantin H. 4. Nov 2008 15:41


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:
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;
so das ist die ggT-Berechnung die funktoniert. Im Vorraus danke :mrgreen:

[edit=SirThornberry]quote-tags durch delphi-tags ersetzt - Mfg, SirThornberry[/edit]

Relicted 4. Nov 2008 15:44

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:
(*
  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;
aus diesem Thread: http://www.delphipraxis.net/internal...=285532#285532

Gruß
Reli

Konstantin H. 4. Nov 2008 15:48

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 =)

Relicted 4. Nov 2008 15:51

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

Michael Habbe 4. Nov 2008 15:57

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

Konstantin H. 4. Nov 2008 16:00

Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
 
Als Grundlage habe ich dieses Programm genohmen:

Delphi-Quellcode:
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
Daraus habe ich eine Überleitung zum ggT für 3 Zahlen gemacht. Aber bei kgV wird nur Quatsch ausgegeben.

Konstantin H. 4. Nov 2008 16:03

Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
 
Zitat:

Zitat von Michael Habbe
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

:wiejetzt: Meinst du ggT oder kgV?



KoS

Michael Habbe 4. Nov 2008 16:06

Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
 
Zitat:

Zitat von Konstantin H.
:wiejetzt: Meinst du ggT oder kgV?
KoS

Na, beides, kannst Du hier auch nachlesen: http://de.wikipedia.org/wiki/Gr%C3%B...ehreren_Zahlen

Konstantin H. 4. Nov 2008 16:11

Re: ggt und kgV von 3 Zahlen[PLEASE HELP]
 
Zitat:

Zitat von Michael Habbe
Zitat:

Zitat von Konstantin H.
:wiejetzt: Meinst du ggT oder kgV?
KoS

Na, beides, kannst Du hier auch nachlesen: http://de.wikipedia.org/wiki/Gr%C3%B...ehreren_Zahlen


Ach sooo. Danke für den Denkanstoß


KoS


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz