![]() |
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:
Danke Technikus
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; |
Re: Sortieren von Zufallszahlen im Stringgrid
Delphi-Quellcode:
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").
{ 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]; |
Re: Sortieren von Zufallszahlen im Stringgrid
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Technikus,
Zitat:
Für dein Studium habe ich dir noch eine Demo angehängt. Grüße vom marabu |
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. |
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