Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
936
Tıklama
0
Öne Çıkarma
c de rastgele sayı
S
14 yıl
Teğmen
Konu Sahibi

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]);
}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





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

D
14 yıl
Teğmen

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 >
Bu mesaja 1 cevap geldi.
S
14 yıl
Teğmen
Konu Sahibi

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.


Bu mesaja 1 cevap geldi.
Q
14 yıl
Yüzbaşı

U
14 yıl
Binbaşı

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 >
Bu mesaja 1 cevap geldi.
S
14 yıl
Teğmen
Konu Sahibi

Teşekkürler cevaplar için



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.