Random Numbers Within a Given Range

Kategori: C , 01 Temmuz 2019 , JanFranco


rand fonksiyonu ile rastgele sayılar üretmeyi görmüştük. Bu sefer üreteceğimiz sayıları belirli bir aralık içinde tutacağız. Örnek üzerinden anlatalım:


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

int main() {

    int i, lower = 100, upper = 1000;
    srand(time(NULL));

    for(i=0; i<5; i++){
        printf("%d. %d\n", i+1, (rand() % (upper - lower + 1) + lower));
    }

    return 0;
}
Alt sınırı 100, üst sınırı 1000 olarak belirledik. srand fonksiyonu ve time fonksiyonu ile her çalıştırdığımızda farklı sonuçlar almamızı sağlayacak seed'ler ürettik. Daha sonra rand fonksiyonu ile 5 sayı bastırdık. Burada örneğin 20.000 sayısı üretilmiş olsun. Alt sınır 100, üst sınır 1000 idir. 1000 - 100 + 1 işleminin sonucu 901 olur. 20.000/901 işleminin kalanı 178'dir. 178 ile tekrar alt sınırı toplarsak sonuç 278 olur. Diyelim ki rand fonksiyonu 100 sayısını üretti. Aynı işlemi burada yapalım. 100 % 901 = 100. 100 + 100 = 200. Farklı sayılar ile deneyebiliriz. sonuç her zaman 100 ile 1000 arasında olur. Programın çıktısı:

1. çalıştırma->

1. 765
2. 314
3. 888
4. 958
5. 148

2. çalıştırma->

1. 837
2. 764
3. 684
4. 657
5. 395


Sonraki Yazı: Linear Search
Yorumlar

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