Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Teiler einer zahl (es läuft, aber wieso?) (https://www.delphipraxis.net/9859-teiler-einer-zahl-es-laeuft-aber-wieso.html)

Matze 6. Okt 2003 14:43


Teiler einer zahl (es läuft, aber wieso?)
 
Hi, ich hab hier mal war programmiert, das die Teiler einer Zahl berechnet, es geht auch, aber ich kappiere überhaupt nicht mehr wieso :gruebel: , ich müsste das nächste Mal wohl besser gescheite variablen-namen nehmen. :oops:

Äh, kann mir da mel jemand auf die Sprünge helfen?
Alles, was ich verstehe, steht als bemerkung dahinter.

Delphi-Quellcode:
procedure TForm1.TeilerMengeStringVon(z: integer); //Zahl aus einem Edit
var t,h,i: integer; //t=teiler
begin
  s:='';

  for h:=1 to z do //geht jede Zahl einmal durch
  begin
  x:='';
    for t:=1 to h do //überprüft die Teiler der Zahlen
    begin
      s:=IntToStr(h div t);
      if h mod t = 0 then //wenn kein rest da ist ==> Teiler
      begin
        if not (t=h) then x:=x+s+', ' //nach dem letzten teiler, kein Komma mehr hinzufügen
        else x:=x+s; //Teiler dem String hinzufügen
      end;
    end;
    x:='T'+IntToStr(h)+' = {'+x+'}'; //string, der in die ListBox geschrieben wird
    ListBox1.Items.Add(x);
  end;
end;

Christian Seehase 6. Okt 2003 14:51

Re: Teiler einer zahl (es läuft, aber wieso?)
 
Moin Matze,

Du hast doch alles dazugeschrieben.
Mal abgesehen davon, dass Du nicht die Schleife t bis h laufen lassen musst, sondern nur bis h div 2 (was darüber liegt, kann kein Teiler mehr sein), seh' ich jetzt nicht, was man Deinen Kommentaren noch hinzufügen kann.

[EDIT]
Die Schleife muss auch nicht bei 1 beginnen, 1 ist ja immer Teiler.
[/EDIT]

Matze 6. Okt 2003 14:53

Re: Teiler einer zahl (es läuft, aber wieso?)
 
Danke, für die Tipps, aber irgendwie raff ich's immer noch nicht, obwohl, wenn ich's mir mal so anschaue, eigentlich jetzt doch. :mrgreen:

@Admin oder Mods: Bitte Thread wieder löschen.

negaH 6. Okt 2003 14:54

Re: Teiler einer zahl (es läuft, aber wieso?)
 
Zitat:

Mal abgesehen davon, dass Du nicht die Schleife t bis h laufen lassen musst, sondern nur bis h div 2 (was darüber liegt, kann kein Teiler mehr sein), seh' ich jetzt nicht, was man Deinen Kommentaren noch hinzufügen kann.
Du meinstest bestimmt "bis h^0.5" = Wurzel(h) !

Gruß hagen

Christian Seehase 6. Okt 2003 14:54

Re: Teiler einer zahl (es läuft, aber wieso?)
 
Moin Hagen,

:wall: stimmt.

Matze 7. Okt 2003 11:12

Re: Teiler einer zahl (es läuft, aber wieso?)
 
Ich weiß jetzt, wieso ich's nicht kappiert habe. Ich habe das i deklariert, obwohl ich's nicht brauche. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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