SORU
26 Mart 2009, PERŞEMBE


C şamandıra rastgele sayı üretimi

Nasıl rastgele C yüzen oluşturabilirim ?

Tamsayı rand alın ve paylaşın bir şeyler yapabilirim diye düşündüm, bu yeterli olur mu?

CEVAP
26 Mart 2009, PERŞEMBE


rand() psudo-rasgele sayı üretmek için C kullanılır . RAND_MAX ve küçük bir matematik ile birlikte, seçtiğiniz herhangi bir keyfi aralığında rastgele sayılar üretebilirsiniz. Bu öğrenme amaçları ve oyuncak programlar için yeterli. Eğer ihtiyacınız varsagerçektennormal dağılımlı rasgele sayılar, daha gelişmiş bir yöntem istihdam etmek gerekir.


Bu 1.0, 0.0 dahil olmak üzere bir dizi oluşturur.

float r = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);

Bu biraz keyfi için 0.0float, XBir sayı üretecektir:

float r2 = static_cast <float> (rand()) / (static_cast <float> (RAND_MAX/X));

Bu HI bazı keyfi için LO bazı rasgele bir sayı oluşturur:

float r3 = LO   static_cast <float> (rand()) /( static_cast <float> (RAND_MAX/(HI-LO)));

rand() işlevi genellikle Eğer gerçekten rasgele sayılar ihtiyacınız varsa yeterli olmayacaktır unutmayın.


rand(), aramadan önce ilk "tohum jeneratör srand() arıyor." rasgele sayı gerekir Bu yapılması gereken programın çalışması sırasında değil, her zaman rand() aramadan sonra. Bu genellikle şu şekilde yapılır:

srand (static_cast <unsigned> (time(0)));

rand srand çağırmak için 20* *gerekir.

time, çağırmak için 22* *gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • How It Should Have Ended

    How It Shoul

    5 Mart 2007
  • Tomas N

    Tomas N

    14 Kasım 2010