08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

Aşağıdaki program, bu oyunu oynayan oyuncunun kazanma olasılığını hesaplıyor:<br />

#include <br />

#include <br />

#include <br />

#define NKEZ 1000000<br />

int zar_at()<br />

{<br />

int zar1 = rand() % 6 + 1;<br />

int zar2 = rand() % 6 + 1;<br />

return zar1 + zar2;<br />

}<br />

/* oyuncu kazanırsa 1 değerine, oyuncu kaybederse 0 değerine geri döner */<br />

int oyun()<br />

{<br />

int zar_toplam;<br />

}<br />

zar_toplam = zar_at();<br />

switch (zar_toplam) {<br />

case 7 :<br />

case 11: return 1;<br />

case 2 :<br />

case 3 :<br />

case 12: return 0;<br />

}<br />

return oyun_devami(zar_toplam);<br />

/* oyuncu 4, 5, 6, 8, 9, 10 atmissa oyunun devamı.<br />

oyuncu kazanırsa 1 değerine, oyuncu kaybederse 0 değerine geri döner */<br />

int oyun_devami(int zar_toplam)<br />

{<br />

int yeni_zar;<br />

}<br />

for (;;) {<br />

yeni_zar = zar_at();<br />

if (yeni_zar == zar_toplam)<br />

return 1;<br />

if (yeni_zar == 7)<br />

return 0;<br />

}<br />

int main()<br />

{<br />

int k;<br />

int kazanma_sayisi = 0;<br />

srand(time(0));<br />

for (k = 0; k < NKEZ; ++k)<br />

kazanma_sayisi += oyun();<br />

printf("kazanma olasiligi = %lf\n", (double)kazanma_sayisi / NKEZ);<br />

}<br />

return 0;<br />

196

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!