Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zufallszaheln erzeugen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
22.08.2005, 10:09 Uhr
~anfaenger_tina
Gast


Hi,

ich möchte gerne Integer- Zufallszahlen erzeugen im Bereich von 0 bis zu einem variablen max-Wert, der auch nicht besonders groß ist. Nun habe ich gelesen, dass die rand-Funktion unter c++ insbesondere für kleine Bereiche keine Gleichverteilte Zufallsffolge liefert.
Kann mir jemand helfen, wie ich dennoch an einigermaßen zufällige Werte komme?

Bzw. wie nutze ich die rand-Funktion überhaupt. Ich habe gelesen, dass diese Werte von 0 bis zu einem systemabhängigen max-Wert liefert, den man mit define definiert. Aber wie setzt man selbst während dem Programm den max-Wert auf einen variablen Wert?


Danke schon mal,
Tina
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.08.2005, 10:27 Uhr
RedEagle



http://gamedev.dword.org/index.php?t=rants&a=show&i=39
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.08.2005, 10:49 Uhr
~anfaenger_tina
Gast


Viene Dank! :-)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.08.2005, 13:54 Uhr
Pablo
Supertux
(Operator)


In unsere FAQ steht es auch.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.08.2005, 14:00 Uhr
Michi



DU kannst auf einfach das so machen:
a=rand()%max;

max ist der maximale wert(also eine zahl)
--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.08.2005, 14:01 Uhr
Pablo
Supertux
(Operator)


Man muss aber nicht vergessen, den randomizer zu starten, ansonsten bekommt man immer dieselbe Folge von Zahlen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
22.08.2005, 14:02 Uhr
~anfaenger_tina
Gast


wie starte ich denn den ranomizer
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.08.2005, 14:03 Uhr
Pablo
Supertux
(Operator)



Zitat von ~anfaenger_tina:
wie starte ich denn den ranomizer


Lies unsere unsere FAQ, dafür habe ich die Links gepostet, oder?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 22.08.2005 um 14:05 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
22.08.2005, 16:24 Uhr
Lensflare



außerdem werden mit
a=rand()%max;
nur zahlen von 0 bis max-1 "erzeugt". wenn man also ein minimum und ein maximum setzen will muss man es so schreiben:

a=rand()%(max+1-min)+min;
oder man schreibt sich die praktische funktion
int zufall(int min, int max) { return rand()%(max+1-min)+min; };

dann kommen alle werte von min bis max inclusive min und max

EDIT: ups, vorzeichenfehler... korrigiert
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 22.08.2005 um 16:34 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
22.08.2005, 17:26 Uhr
Michi



Ich wollte es erstmal ziemlich unkompliziert lassen, aber besser ist es so auf jeden fall
--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: