Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Zufällige Zahl auf Zahlenbereich abbilden

  Alt 29. Sep 2011, 21:12
Ich würde nicht unbedingt nach einer passenden Zahl suchen, sondern einfach den gegebenen Wertebereich auf den gewünschten Wertebereich umrechnen.

Code:
zufall = Runden(lese_zufalls_bytes(1) / 256 * k)
ergebnis = liste[zufall]

zufall = Integer(lese_zufalls_bytes(1)) * k div 256
ergebnis = liste[zufall]

// angenommen das Byte von lese_zufalls_bytes wird automatisch vergrößert
zufall = lese_zufalls_bytes(1) * k div 256
ergebnis = liste[zufall]
Falls es dir egal ist, wenn untere Felder öfters ausgewählt werden, als höhere, dann wäre auch sowas möglich
Code:
zufall = lese_zufalls_bytes(1) mod k
ergebnis = liste[zufall]
aber bedenke (gegeben sei 0 <= lese_zufalls_bytes < 20 und k = 6 )
Code:
 0  1  2  3  4  5
 6  7  8  9 10 11
12 13 14 15 16 17
18 19
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Sep 2011 um 21:19 Uhr)
  Mit Zitat antworten Zitat