Seite 1 von 2
Zufallszahlen kleiner als 0
Verfasst: 08.09.2005 23:43
von SoS
Ich weiss nicht ob es das schon gab aber ich habe dazu nichts gefunden und brauchte das gerade dringend.
Code: Alles auswählen
Procedure Rnd(Min.l, Max.l)
Repeat
result.l=(Random(Max-Min)+Min)-(Random(Max-Min)+Min)
Until result <= Max And result >= Min
ProcedureReturn result
EndProcedure
For X= 1 To 20
Debug Rnd ( -60,60 )
Next
Re: Zufallszahlen kleiner als 0
Verfasst: 09.09.2005 01:57
von Deeem2031
Man könnt ja auch einfach Random(120)-60 nehmen ...
Verfasst: 09.09.2005 10:40
von Agent
Hm...
Man könnte es auch so machen:
Das wäre dann noch besser aus meiner Sicht:
Code: Alles auswählen
zufallsbereich=1000
Select Random(1)
Case 1
zufallszahl=Random(zufallsbereich)*-1
Case 0
zufallszahl=Random(zufallsbereich)
EndSelect
Debug zufallszahl
Verfasst: 09.09.2005 11:41
von code2nil
Allgemein liefert Random(max-min)+min eine ZZ im Intervall [min; max], wobei min, max mit min<=max beliebige ganze Zahlen sein dürfen.
Re: Zufallszahlen kleiner als 0
Verfasst: 09.09.2005 11:46
von SoS
Deeem2031 hat geschrieben:Man könnt ja auch einfach Random(120)-60 nehmen ...
nur
ist nur ein Beispiel und ich kann da eingeben was ich will
z.b.
Code: Alles auswählen
Procedure Rnd(Min.l, Max.l)
Repeat
result.l=(Random(Max-Min)+Min)-(Random(Max-Min)+Min)
Until result <= Max And result >= Min
ProcedureReturn result
EndProcedure
For X= 1 To 20
Debug Rnd ( -14311,-123 )
Debug Rnd ( 60,6000 )
Debug Rnd ( -60,60 )
Debug Rnd ( -100,0 )
Debug Rnd ( -14311,14311 )
Debug ""
Next
Verfasst: 09.09.2005 11:54
von code2nil
Wie gesagt
Code: Alles auswählen
Procedure Rnd(Min.l, Max.l)
result.l=Random(Max-Min)+Min)
ProcedureReturn result
EndProcedure
For X= 1 To 20
Debug Rnd ( -14311,-123 )
Debug Rnd ( 60,6000 )
Debug Rnd ( -60,60 )
Debug Rnd ( -100,0 )
Debug Rnd ( -14311,14311 )
Debug ""
Next
sollte klappen...
Verfasst: 09.09.2005 12:11
von SoS
hmm,stimmt. (Bis auf das ")" hinter Min

)
Ich habe das scheinbar zu verkompliziert .

Verfasst: 09.09.2005 12:23
von code2nil
hmm,stimmt. (Bis auf das ")" hinter Min Smile )
Äh, genau - hatte das nur so reingetipselt

Verfasst: 09.09.2005 13:12
von AndyX
Wenn ich da jetzt nicht was falsch verstanden habe, sollte das helfen...
Verfasst: 09.09.2005 14:03
von remi_meier

Da will jemand seine ASM Kentnisse zeigen..
ein einfaches a = -Random(2000) würds auch tun
und
du hast es falsch verstanden^^
mein Code oben ist auch falsch