Basit Bir Rastgele Sayı Oluşturma Fonksiyonu

 
Bu konu ile benzer olabilecek diğer forum sayfaları
 
 
 
 
Yazılacak bir çok yazılımda bir yerlerde mutlaka rastgele bir veri alımı ya da gönderimi ihtiyacı duyulur... Bu ihtiyacı karşılayabilmek için de farklı diller için türlü rastgele sayı üreteci olan fonksiyonlar yazılır ya da dil bunu kendi içinde getirmiştir, kod yazarları ona eklemeler yaparlar Bu işlemi en basit şekilde yapan bir C fonksiyonunu aşağıda inceleyelim;
 
 
Alıntı:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int randomNumberGenerator(int a, int b);
 
int main(void) {
int i;
for(i = 0; i < 20; i++)
printf("%d\n", randomNumberGenerator(10, 20));
return(0);
}
 
int randomNumberGenerator(int a, int b) {
if(b <= a) {
printf("Ikinci parametre mutlaka ilkinden buyuk olmalidir!\n");
return(0);
} else {
int randomize = rand();
srand(time(0) * randomize);
return rand() % ((b - a) + 1) + a;
}
}
Yukarıdaki kodu herhangi bir C derleyicisinde çalıştırılabilir hâle getirdikten sonra çalıştırdığında, rastgele olarak 10 ile 20 arasında belirlenmiş sayıları görmelisiniz... Tek bir farkla; rand() fonksiyonu gibi her çalıştırmada aynı sayıları vermeyecektir
 
 Nasıl Çalışır?
Yukarıda verdiğim randomNumberGenerator() fonksiyonuna vereceğiniz tam sayı türündeki a ve b değerleri, o anki Unix zamanına ve önceden belirlenmiş olan rastgele sayıya bağlı olarak değişen bir tohum (seed) değeri ile rastgele sayı üretir. Bu, üretim aynı anda yapılsa bile, verilecek sayıların birbirinden tamamen farklı değerler olmasını sağlar.
 
 rand() işleminden sonraki % (mod) değerleriyle yaptığımız işlem ise, çıkacak olan sayının verilen parametreler de dahil olmak üzere, onların arasında olmasını sağlar... Şöyle ki;
 
 1- Çıkabilecek sayı ihtimali: a ve b de dahil olduğu için, (b - a) + 1 olmalıdır. (b > a bu arada )
 2- Çıkacak sayıların a ve b dahilinde olmasının sağlanması: Elde edilen kalanlara küçük olan a sayısının eklenmesiyle yapılır: rand() % ((b - a) + 1) + a oluyor böylece formülümüz...
 
 Nerelerde Kullanabilirim?
Oyunlardan tutun da, aktivasyon anahtarı isteyen yazılımlara kadar çok geniş bir alanda kullanılabilir... Fonksiyonu geliştirmek sizin elinizde

ALINTIDIR
 
 

 
 

 ~ 

Bu konunun linki : 

Yukarıdaki linki arkadaşlarınıza göndermek için kullanabilirsiniz ve bu sayfada; Basit Bir Rastgele Sayı Oluşturma Fonksiyonu hakkında bilgiler nedir yazıları veya şiirleri gibi sözleri veya resimleri Basit Bir Rastgele Sayı Oluşturma Fonksiyonu siteleri gibi benzer birçok forum konularını bulabilirsiniz.

 ~ 

Son Forum Mesajları

Kaynak linkimizi belirtmek koşulu ile her türlü bilgiyi kopyalayabilirsiniz. Forum içerisinde yazılan tüm mesajların hukuki sorumlulukları mesajları yazanlara aittir. Üyeler, üyelik sözleşmesi gereği bu kuralı kabul etmiş sayılır. Ziyaretçilerimiz bu forumu kullanmadan önce Forum Kurallarını okumak zorundadırlar. Aksi durumda meydana gelecek bütün olumsuz durumlardan ziyaretçilerin bizzat kendileri sorumludur. Sitemizde telif, kişi haklarına; yasalara aykırı olduğunu düşündüğünüz bir konu görürseniz bize aşağıdaki iletişim adresinden ulaşabilirsiniz.

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 960

© 2006-2020 ilgiliFORUM.com