Thema: Delphi zu blöd für MinSort...

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#6

Re: zu blöd für MinSort...

  Alt 3. Dez 2003, 19:13
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif,

hatte die Zählervariable nicht mit geändert:
Code:
[b]Procedure[/b] TForm1.Button1Click(Sender: TObject);
  [b]Var[/b] i: Integer;

  [b]Begin[/b]
    Randomize;
    ListBox1.Clear;
    anz := 5;
    [b]For[/b] i := 1 [b]to[/b] anz [b]do[/b] [b]Begin[/b]
      a[[color=red]anz[/color]] := Round(Random * 1000) / 100;
      ListBox1.Items.Add(FloatToStr(a[[color=red]anz[/color]]));
    [b]End[/b];
  [b]End[/b];
Der Fehler lag also nicht beim Sortieren, sondern beim Füllen des Arrays. Da wurde eben nur a[anz] / a[5] gefüllt.


So, jetzt geht es:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
  Var i: Integer;

  Begin
    Randomize;
    ListBox1.Clear;
    anz := 5;
    For i := 1 to anz do Begin
      a[i] := Round(Random * 1000) / 100;
      ListBox1.Items.Add(FloatToStr(a[i]));
    End;
  End;

Procedure TForm1.Button2Click(Sender: TObject);
  Var i, j: integer;
    hilf: real;

  Begin
    For i := 1 to anz - 1 do
      For j := i + 1 to anz do
        If a[j] < a[i] Then Begin
          hilf := a[j];
          a[j] := a[i];
          a[i] := hilf;
        End;
    ListBox1.Clear;
    For i := 1 to anz do
      ListBox1.Items.Add(FloatToStr(a[i]));
  End;

http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat