C/C++ En Rastgele Sayıyı Üreten Fonksiyon

Anlatımımı Beğendiniz Mi?

  • Hayır, kendini geliştirmelisin.

    Kullanılan: 0 0.0%

  • Kullanılan toplam oy
    1

yalovalı

Kömür Madencisi
Mesajlar
148
En iyi cevaplar
0
Beğeniler
7
Puanları
0
Normalde stdlib.h kütüphanesindeki rand() fonksiyonu hep aynı sayıları döndürür.
Bunu engellemek için srand() fonksiyonunu çağırarak çekirdeği değiştiririz.

Genelde srand() fonksiyonuna time.h kütüphanesinden time(NULL) referans olarak verilir.
Ben bunu uzun zamandır deniyorum, rand() fonksiyonunu aynı anda ard arda
çalıştırdığımda aynı değeri 2 - 3 kez döndürebiliyor.

Bunu önlemek için srand() fonksiyonuna rand() fonksiyonunu referans olarak vermeyi düşündüm.

Kod:
int random(int min, int max) {
    unsigned int seed = rand();
    srand(seed);
    return rand() % (max - min) + min;
}

Yukarıdaki kodda srand() fonksiyonuna ilk olarak 41, ardından farklı farklı değerler veriliyor.
Bu da hem çekirdeğin, hem de döndürülen değerin sürekli değişmesini sağlıyor.​

[önerilerinizi ve eleştirilerinizi bekliyorum]
 


Son düzenleme:

Üst