![]() |
Re: stringgrid
Zitat:
|
Re: stringgrid
Don't worry!
Im Eifer des Gefechts kann das schon mal passieren. Hatte mir heute morgen mal das Ergebnis angeschaut: Der Algorithmus scheint mir nicht besonders effektiv. Ein Blick in meinen Fundus brachte dann eine fast identische Procedur zum Vorschein, in der ich nur einen Index über Random() bestimme, der zweite Index wird einfach nur über den Schleifenzähler bereitgestellt. Der Geschwindigkeitsvorteil wird aber vermutlich nicht ins Gewicht fallen. Das Ergebnis ist mit der hier vorgestellten Prozedur vergleichbar. Ich denke, wenn eine "gute" Mischung wichtig ist, dann müsste man noch einen anderen Weg gehen... |
Re: stringgrid
Also effektiv ist er, wenn man mal die Tippfehler vernachlässigt.
Ist er auch effizient? Ich glaube, das spielt bei der Anwendung keine Rolle. Wildes Vertauschen klappt immer <g>. |
Re: stringgrid
Hmmm, meine Stichproben haben ergeben, dass manchmal mehrere Zahlenwerte (wieder?) in der ursprünglichen Reihenfolge standen. Nun war ja nicht die Rede davon, dass dies ausgeschlossen werden muss. Aber von einer guten Verwürfelung möchte ich eigentlich erwarten, dass die ursprüngliche Reihenfolge nicht gleich in mehreren Fällen beibehalten wird - oder ist meine Erwartung falsch?
|
Re: stringgrid
gerade abgetippt:
Delphi-Quellcode:
Achtung: Las Vegas Algo - Laufzeit nicht gesichert.
procedure TForm1.Button1Click(Sender: TObject);
var Zahlen:set of Byte; rand,i,j:integer; begin randomize; //Zufallsgenerator initialisieren Zahlen := []; //leere Menge anlegen for i := 0 to 9 do //Zeilen und Spalten durchgehen for j := 0 to 9 do begin rand := random(100) + 1; //zufallszahl suchen while rand in Zahlen do //schauen ob schon vorhanden, wenn ja neue rand := random(100) + 1; include(zahlen,rand); //hinzufügen zu bereits benutzen Zahlen stringgrid1.Cells[i,j] := IntToStr(rand); //reinschreiben end; end; |
Re: stringgrid
Das kommt mir irgendwie
![]() |
Re: stringgrid
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 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