folder Tahribat.com Forumları
linefolder C - C++
linefolder C İle Programlama Yardım



C İle Programlama Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DeadLyShadoW
    DeadLyShadoW's avatar
    Kayıt Tarihi: 28/Eylül/2009
    Erkek

    ucenmi bunu yazdı:
    -----------------------------

    DeadLyShadoW bunu yazdı:
    -----------------------------

    ucenmi bunu yazdı:
    -----------------------------

    gece gece sıkılıyordum dur yapayım hocam :D

     


    -----------------------------
    hocam yaparsan elin dert görmesin ya büyük adamsın derim bak =)


    -----------------------------

    hocam aslında direk kodları yazacaktım ama sana işin mantığını anlatmam daha doğru olur.

    şimdi gelelim mantığına işin:

    şimdi senin öncelikle random sayı üretebilmen lazım bunun için dosyana stdlib.h dosyasını include et. şimdi bu kütüphane sayesinde c içindeki rand() fonksiyonunu kullanabileceksin. kullanımını bir örnekte gösterecek olursam.

    int sayi;

    sayi = rand();

    bunu böyle yazarsan integer bir sayı üretir ama senin 1 ile 6 arasında bir sayı üretmen lazım işte bunun için bunu şu şekil kullanmalısın.

    int sayi;

    sayi = (rand()%6)+1;

    buradakini kullanırsan sana 1 ve 6 aralığında random sayı üretir burdaki %6 nın nedeni rand() fonksiyonunun üreteceği integer herhangi bir sayının modunu alıyoruz böylece sayımız 0 ve 5 aralığında oluyor. e sen 1 ve 6 istemiştin işte bunun için +1 dedik.

    şimdi gelelim 20 tane rastgele sayı oluşturup bunların her birinin kaçardefa geldiğini bulmaya

    öncelikle for yapısını kullanman gerekiyor ve ayrıca her sayını tutman içi 6 elemanlı bir dizi tanımlayacaksın ve bütün elemanların ilk değerlerini 0 yapacaksın

    bunu şöyle yaparsı:

    int zar[6] = {0,0,0,0,0,0};

    şimdi gelelim for yapımıza sen 20 defa üreteceğinden for 20 defa çalışacak ve for her döndüğünde üretilen sayının değerine göre zar dizisinde o üretilen sayının değeri bir arttırılacak. sayının değerine göre arttırma işleminide switch case yapısıyla yapacağız.

    yapımıza gelirsek kısaca şöyle olacak:

    int sayi;

    for(int i = 0;i<20;i++){

    sayi = (rand()%6)+1;

         switch(sayi){

         case 1:

               zar[0]++;

               break;

         case 2:

               zar[1]++;

               break;

         case 3:

               zar[2]++;

               break;

         case 4:

               zar[3]++;

               break;

         case 5:

               zar[4]++;

               break;

         case 6:

               zar[5]++;

               break;

         }

    }

    artık elinde hangi sayıdan kaç defa geldiği zar dizisinin içinde mevcuttur ekran çıktısınıda elindeki bu değerlere göre yapman gerekiyor.

    umarım senin için yararlı olur


    -----------------------------

     

    hocam for mantıgını biliyodum javadan da rand ı anlatman cok iyi oldu cok teşekkür ederim bundan sonrasını yapabilirim sanırım ellerin dert görmesin hocadan iyi anlattın bunu valla =)


    Batmayacağına inanarak suya bas,yürür gidersin... Mucize yürüyebilmen değil inanabilmendir. - Seyyid Ahmet Arvasi
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ucenmi
    ucenmi's avatar
    Kayıt Tarihi: 25/Mayıs/2011
    Erkek

    bak şeyi unutmuşum rand() fonksiyonunu her seferinde başka bişi getirmesi çin

    #include<time.h>

    dosyasını include etmelisin ve

    srand(time(NULL));

    fonksiyonunu bir kere çağırmalısın

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DeadLyShadoW
    DeadLyShadoW's avatar
    Kayıt Tarihi: 28/Eylül/2009
    Erkek

    ucenmi bunu yazdı:
    -----------------------------

    bak şeyi unutmuşum rand() fonksiyonunu her seferinde başka bişi getirmesi çin

    #include

    dosyasını include etmelisin ve

    srand(time(NULL));

    fonksiyonunu bir kere çağırmalısın


    -----------------------------

    belki bu complier a göre değişebilirde bunuda yaparım artık son haline baktıktan sonra teşekkür ediyorum tekrar =)


    Batmayacağına inanarak suya bas,yürür gidersin... Mucize yürüyebilmen değil inanabilmendir. - Seyyid Ahmet Arvasi
Toplam Hit: 1589 Toplam Mesaj: 14