DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
8
Cevap
10895
Tıklama
0
Öne Çıkarma
rand srand nasıl kullanılır?
E
20 yıl (5834 mesaj)
Yarbay
Konu Sahibi

diyelim r diye bir değişkene rastgele bir sayı atayacağız

r=rand();

dediğimizde hep aynı sayıyı atıyor değişkene.

Bunun için srand fonksiyonu varmış. Birkaçşey buldum bununla alakalı ama kullanılışını anlayamadım. Yardım eder misiniz?

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



E
20 yıl (5834 mesaj)
Yarbay
Konu Sahibi

http://forum.donanimhaber.com/m_4523549/tm.htm

forumda arama yapınca bu çıktı. Ancak net değil. birşey anlayamadım


Bu mesaja 1 cevap geldi.
F
20 yıl (751 mesaj)
Yüzbaşı

uzun zamandır c kullanmadım ama hatırladığım kadarıyla :

#include<time.h>

srand(time(0));
degisken = rand();


Bu mesaja 1 cevap geldi.
G
20 yıl (101547 mesaj)
Yarbay

R
20 yıl (3136 mesaj)
Yarbay

rand işlevinde rasgele sayı üretmeye bir başlangıç değeri ile başlanır buna seed value (tohum değeri) denir.rand işlevi her çağırıldığında aynı seed değerinden başlayacağı için aynı sayı zinciri elde edilir.srand işlevi ise bu seed değerini değiştirmeye yarar.srand işlevi stdlib.h başlık dosyasında yer alır.bildirimi şöyledir.

void srand(unsigned seed);
srand işlevi ile seed değeri deiştirse bile rand işlevi her defasında srand ile değiştirlmiş seed değerini kullanacağından yine bir zincir halinde aynı sayılar elde edilir.

Bir programın her çalışmasında farklı bir sayı zincirinin elde edilmesi için ise srand işlevinin rasgele sayı üreticisinin seed değerini programın her çalışmasında farklı bir değer yapması gerekir.Bunun için çoğu zaman standard time işlevinden faydalanılır.

srand(time(0));

dersek program her defasında farklı bir sayı üretecektir.


Bu mesaja 1 cevap geldi.
E
20 yıl (5834 mesaj)
Yarbay
Konu Sahibi

peki bir sayı ile başka bir sayı arasında rastgele bir sayı üretmek istersem??


Bu mesaja 2 cevap geldi.
G
20 yıl (101547 mesaj)
Yarbay

quote:

Orjinalden alıntı: electronics

peki bir sayı ile başka bir sayı arasında rastgele bir sayı üretmek istersem??


 
srand( time(0) );
do{
rastgele_bir_sayi = rand()%baska_bir_sayi;
}while( rastgele_bir_sayi < bir_sayi );






< Bu mesaj bu kişi tarafından değiştirildi Guest -- 4 Kasım 2005, 17:11:03 >

R
20 yıl (3136 mesaj)
Yarbay

quote:

Orjinalden alıntı: electronics

peki bir sayı ile başka bir sayı arasında rastgele bir sayı üretmek istersem??



#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int k;

srand(time(0));
for (k = 0; k < 10; ++k)
printf("%d ", rand());
return 0;
}



rand() % 2 Yalnızca 0 ya da 1 değerini üretir.
rand() % 6 0 - 5 aralığında rasgele bir değer üretir
rand() % 6 + 1 1 - 6 aralığında rasgele bir değer üretir.
rand() % 6 + 3 5 - 8 aralığında rasgele bir değer üretir.


Bu mesaja 1 cevap geldi.
E
20 yıl (5834 mesaj)
Yarbay
Konu Sahibi

sağolun dostlar, herşeyi anladım, çalıştırdım, test ettim



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.