Şimdi Ara

c de rastgele sayı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
880
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Rastgele float sayı atayamıyorum. dizinin elemanlarının float cinsinden olması lazım ama sayılar her seferinde 45.000 gibi tam sayı çıkıyor. virgülden sonrası hep 0 oluyor. Neyi yanlış yada eksik yapıyorum

     
    int i;
    float dizi[5];
    srand(time(NULL));
    for(i=0;i<5;i++)
    {
    dizi[i]=rand()% 100+1;
    printf("Dizi[%d] = %f\n",i,dizi[i]);
    }



    < Bu mesaj bu kişi tarafından değiştirildi SharpShoooterr -- 31 Ekim 2011; 17:08:22 >



  • rand() fonksiyonu her zaman tamsayı döndürür.

    Rastgele sayıyı generate ettiğin satırı

     
    dizi[i]=(float)rand()/RAND_MAX;


    şeklinde değiştir. 0 ile 1 arası değerler elde edeceksin.



    < Bu mesaj bu kişi tarafından değiştirildi Driant -- 31 Ekim 2011; 17:21:21 >
  • tesekkürler. Benim istediğim de buydu. ama bir şey daha merak ettim. 0 ile 1 arasında değilde 0 ile 100 arasında rastgele sayı elde edeceğimiz zaman nasıl yapıcaz.
  • *100
  • quote:

    Orijinalden alıntı: qamyoncu

    *100

    0        < (float)rand()/RAND_MAX       < 1
    0*100 < (float)rand()/RAND_MAX*100 < 1*100
    0        < (float)rand()/RAND_MAX*100 < 100

    bu da açıklaması olsun :)



    < Bu mesaj bu kişi tarafından değiştirildi un.real -- 1 Kasım 2011; 11:28:13 >
  • Teşekkürler cevaplar için
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.