Wie erstelle ich zufallszahlen die nicht gleich sind?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

DA

Betreff: Wie erstelle ich zufallszahlen die nicht gleich sind?

BeitragSa, Dez 18, 2004 22:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Ich möchte mehrere zufalls zahlen habe. Die aber nicht gleich sein dürfen. Ich habe auch die Foren suche getätigt und habe auch was gefunden nur leider versteh ich das beispiel nicht so ganz?
Deswegen wollte ich euch fragen ob einer von euch mir das erklären kann.

BlitzBasic: [AUSKLAPPEN]

zeit=MilliSecs()
SeedRnd MilliSecs()
anzahl=1000000
Dim array(anzahl)
For i=0 To anzahl
array(i)=i
Next

For i=0 To anzahl
zufall=Rand(0,anzahl)
temp=array(zufall)
array(zufall)=array(i)
array(i)=temp
Next
zeit=MilliSecs()-zeit
Print zeit+\" ms\"
WaitKey


Thx
DarkAngel
Deutscher Blitz Basic Chat
 

noir

BeitragSa, Dez 18, 2004 23:04
Antworten mit Zitat
Benutzer-Profile anzeigen
der code bewirkt etwas anderes, jedenfalls würde er nicht funktionieren

er müsste etwas anders lauten

erstell ein dim feld (1) , dass so groß wie deine größte zufalls zahl sein.

jetzt lässt du dir eine zufallszahl erstellen, schreibst diese in ein anderes dimfeld, oder wo auch immer du die hinaben möchtest.
dann tust du im dim feld (1) an der stelle der zufallszahl eine 1 schreiben

bei der nächsten zufallszahl machst du das gleiche und prüfst jedesmal davor ob an der stelle schon eine 1 steht, dann weißt du ob es die zahl schon gibt.

BlitzBasic: [AUSKLAPPEN]


Dim zahl(100)
Dim temp(100)
SeedRnd MilliSecs()

Repeat
a = Rand(0,100)

If temp(a) = 0 Then
nr = nr + 1
zahl(nr) = a
temp(a) = 1
EndIf


Until nr = 100

 

noir

BeitragSa, Dez 18, 2004 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke das ist verständlich, falls du noch fragen hast, oder mit deiner frage was anderes meintest, denn diese war nicht ganz eindeutig Wink ,
dann frag nach

noir

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group