srand()

Kategori: C , 01 Temmuz 2019 , JanFranco


rand fonksiyonu bir seed değerine göre çalışılır. Biz bu seed değerini değiştirerek, farklı sayılar üretebiliriz. Bunu srand fonksiyonu ile yaparız. Eğer srand fonksiyonu kullanılmazsa, seed değeri otomatik olarak 1 atanır. Öncelikle fonksiyon prototipini verelim:


void srand(unsigned seed);
Bir örnek görelim:

#include <stdio.h>

int main(){

    int x = rand();
    printf("No srand = %d\n", x);

    srand(1);
    x = rand();
    printf("srand(1) = %d\n", x);

    srand(2);
    x = rand();
    printf("srand(2) = %d\n", x);

    srand(1000);
    x = rand();
    printf("srand(1000) = %d\n", x);

    return 0;

}
Bu programın çıktısı:

No srand = 41
srand(1) = 41
srand(2) = 45
srand(1000) = 3304
Bu programı 100 defa da çalıştırsak aynı sonuçları alacağız. Farklı sonuçlar almamız için, seed değerinin her seferinde değişmesi gerekiyor. Bunu time fonksiyonu ile yapabiliriz:

#include <stdio.h>
#include <time.h>

int main(){

    int x;
    srand(time(0));

    x = rand();
    printf("%d", x);

    return 0;

}
Programın çıktıları:

1. çalıştırılmada -> 20094
2. çalıştırılmada -> 20137
3. çalıştırılmada -> 20166
4. çalıştırılmada -> 20189


Sonraki Yazı: Random Numbers Within a Given Range
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın