rand(); komutu nedir?

Burak Gündüz
14-03-2011, 18:45   |  #1  
OP Üye
Teşekkür Sayısı: 0
83 mesaj
Kayıt Tarihi:Kayıt: Eki 2010

C dilinde rand(); diye bir komut varmış ...
Bu komutun işlevi nedir? Ne tür programlarda,nasıl kullanılabilir?

muh34
14-03-2011, 20:08   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
215 mesaj
Kayıt Tarihi:Kayıt: Eki 2010

rand() aslında ingilizce de ' random ' kelimesinden gelen,C programlama dili icerisinde,' rastgele ' sayısal değerler üretmek icin,genellikle srand() fonksiyonu ile birlikte kullanılan bir fonksiyondur.Programlama dunyasında bu yonteme oldukca sık basvurulmaktadır.Örneğin bir sayısal loto programında,bir tavla oyunundaki zar hareketlerinde ve daha bir cok senaryolarda 'rastgele' sayısal degerlere programlar icerisinde ihtiyac duyulur.

Örneğin C dilinde klasik bir zar atımında kullanılan ifade asagıdaki gibidir.
int zar=rand() % 6 + 1;

Yukarıdaki bu istem,rand() fonksiyonunun uretecegi 0-RND_MAX degerleri arasındaki herhangi ' rastgele' bir degerin 6 modul islemine tabi tutulmasıyla baslatılır.Bu işlem sonucunda uretilecek muhtemel degerler 0,1,2,3,4,5 olacaktır.Akabinde ise +1 degeri eklenerek uretilen sonuc degeri zar degiskenine atanarak istenen işlem tamamlanır.Bu durumda ortaya cıkacak muhtemel sonuclar 1,2,3,4,5,6 olacaktır.(Burada +1 eklenmesinin sebebi ise rand() fonksiyonunun en az 0 degerini uretebilecegi olmasıdır)

Başarılar