Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Sortieren von Zufallszahlen im Stringgrid (https://www.delphipraxis.net/53888-sortieren-von-zufallszahlen-im-stringgrid.html)

Technikus 25. Sep 2005 09:54

Re: Sortieren von Zufallszahlen im Stringgrid
 
Hallo,
nun habe ich den Text noch etwas geändert, und die Sortierung findet auch statt.
Aber es kommt noch eine Fehlermeldung nachdem er sortiert hat."ist kein gültiger Integerwert"
Kannst du mir bitte die viertletzteZeile erklären?

Delphi-Quellcode:
procedure TForm1.Button2_BubblesortClick(Sender: TObject);
var
  merke:string;
  i: integer;
  KeinWechsel: boolean;
begin
  { alle "Zahlen" aus Spalte #1 in Spalte #2 kopieren }
     for i:=1 to 99 do
     StringGrid1.Cells[2,i] :=StringGrid1.Cells[1,i];


 { Bubblesort }
  repeat        {Wiederhole solange "KeinWechsel" wahr ist...}
    (* noch keine Vertauschung *)
    KeinWechsel:=true;
    { Reihen 1 bis 100 sortieren }
    for i:=1 to 99 do
      if StrToInt(StringGrid1.Cells[2, i]) > StrToInt(StringGrid1.Cells[2, i+1])
        then
          begin
            (* Tauschen *)
            merke:=StringGrid1.Cells[2, i];
            StringGrid1.Cells[2, i]:=StringGrid1.Cells[2, i+1];
            StringGrid1.Cells[2, i+1]:=merke;
            {Vertauschung hat stattgefunden -habe ich verstanden}
            KeinWechsel:=false;{Bedeutung ist mir unklar}
          end;
  until KeinWechsel; {...bis diese Bedingung "KeinWechsel" erfüllt ist}
end;
Danke Technikus

Grishnak 25. Sep 2005 10:15

Re: Sortieren von Zufallszahlen im Stringgrid
 
Delphi-Quellcode:
  { alle "Zahlen" aus Spalte #1 in Spalte #2 kopieren }
     for i:=1 to 100 do // es sollen 100 Werte kopiert und sortiert werden und nicht nur 99!
     StringGrid1.Cells[2,i] :=StringGrid1.Cells[1,i];
Bzgl. "KeinWechsel": Wenn in einem Durchgang kein Tausch stattfindet, ist das Array komplett sortiert. Falls ein Tausch stattgefunden hat (von "i" auf "i+1") muss das Programm natürlich weiterprüfen (also dann "i+1" mit "i+2").

marabu 25. Sep 2005 14:35

Re: Sortieren von Zufallszahlen im Stringgrid
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Technikus,

Zitat:

Zitat von Grishnak
Delphi-Quellcode:
StringGrid1.Cols[2].Text:=StringGrid1.Cols[1].Text
Was ich immer noch für besser halte, als die einzelnen Zellen per for-Schleife zu kopieren!

da ist was dran - intern wird der Code locker viermal so schnell abgearbeitet als die ausprogrammierte Schleife!

Für dein Studium habe ich dir noch eine Demo angehängt.

Grüße vom marabu

Technikus 26. Sep 2005 18:57

Re: Sortieren von Zufallszahlen im Stringgrid
 
Hallo!
Komme zwar erst jetzt dazu, aber wollte es nicht unter den Tisch fallen lassen.

Ich möchte mich an dieser Stelle recht herzlich für die Hilfestellung und das LernProgramm bedanken.

Bis zum nächsten Problem
Technikus


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz