![]() |
Zahlen sortieren und in mehreren Stringgrids ausgeben
Hi,
Ich hab nen Programm geschrieben, dass Zufallszahlen in 100 (10*10) Stringzellen generiert. Auf Knopfdruck werden diese dann von oben links der größe nach angeordnet bis die größte Zahl ganz unten rechts ist.
Code:
Nun soll der Benutzer eingeben können, wieviele Zahlen zu sehen sein sollen(z.B 200), aber das Stringgrid soll trotzdem nur 10*10 bleiben. Also das die nächsten Zahlen per Knopfdruck in einem anderen Stringgrid weiter angezeigt werden da wo das andere aufgehört hat. Wie kann ich sowas machen??
procedure TForm1.Button1Click(Sender: TObject);//erzeug Zahlen in den Zellen
var a,b:integer; begin for b:=0 to 9 do for a:=0 to 9 do begin stringgrid1.Cells[a,b]:=inttostr(random(500)); end; end; procedure TForm1.Button2Click(Sender: TObject);//sortiert die Zahlen von klein nach groß var a,b,k,i,l,m:integer; z:array[0..100] of integer; begin m:=1; for l:=0 to 99-m do begin m:=m+1; For b:=0 to 9 do for a:=0 to 9 do begin z[9*b+a]:=strtoint(stringgrid1.Cells[a,b]); end; for i:=0 to 99 do if z[i] > z[i+1] then begin k:=z[i]; z[i]:=z[i+1]; z[i+1]:=k; end; for b:=0 to 9 do for a:=0 to 9 do begin stringgrid1.Cells[a,b]:=inttostr(z[9*b+a]); end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 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