Ana dosya:
stdlib.h
sözdizimi:
int satır (boş)
dönüş değerleri:
Bu işlev, dizideki bir sonraki sözde rasgele sayıyı döndürür. Sayı dizisinin aralık değeri 0 ile RAND_MAX arasındadır. RAND_MAX, içinde tanımlanan bir makrodur. stdlib.h Değeri maksimum değer olan bir başlık dosyası, Rand() işlevi kullanılarak döndürülebilir. RAND_MAX’ın değeri, C kitaplıklarına bağlı olarak 32767’den büyük ama küçük değil.
#birleştirmek için
#birleştirmek için
int o()
{
int Kahve;
Baskı(10 rastgele sayı =>\n“);
için(Kahve=0;Kahve<10;Kahve++)
{
Baskı(“%NS”VeKoştu());
}
Baskı(“\n“);
dönüş0;
}
Örnek 1.c’de, for döngüsünün her yinelemesinde Rand()’ı çağırır ve işlevin dönüş değerini yazdırırız. Rand() işlevinin değer dizisi, programı her çalıştırdığımızda aynıdır. Varsayılan olarak, rand işlev çekirdeği 1’e ayarlanır.
Rand işlevi için çekirdeği şu şekilde ayarlayabiliriz: srand() İşlev. Tohum yalnızca bir kez ve ilk seferden önce ayarlanabilir. rand () fonksiyon çağrısı
srand() işlevi:
Ana dosya:
stdlib.h
sözdizimi:
int srand (işaretsiz int tohum)
Argümanlar:
Bu işlev bir bağımsız değişken alır
tohum: Yeni bir sözde rasgele sayılar dizisinin başlangıcı olarak kullanılan bir tamsayı değeri.
dönüş değerleri:
hiç kimse
#birleştirmek için
#birleştirmek için
#birleştirmek için
int o()
{
int Kahve;
Sarand(zaman(0));
Baskı(10 rastgele sayı =>\n“);
için(Kahve=0;Kahve<10;Kahve++)
{
Baskı(“%NS”VeKoştu());
}
Baskı(“\n“);
dönüş0;
}
Örnek 2.c’de, rand() işlevi tarafından oluşturulan rasgele sayı dizisinin ilk çekirdeğini ayarlamak için srand() işlevini kullandık. Program her başlatıldığında farklı bir kuyruk oluşturulur. srand() içinde, time(0) fonksiyonu (bildirilen zaman başlık.) temel dosya olarak. Bu (0) işlevi, çağdan (00:00:00, 1 Ocak 1970) bu yana geçen saniye sayısını döndürür. Programı aynı saniyede çalıştırırsanız, bu yine de aynı dizileri üretebilir.
#birleştirmek için
#birleştirmek için
#birleştirmek için
int o()
{
int Kahve;
Sarand(zaman(0));
Baskı(1’den 10’a kadar 10 rastgele sayı =>\n“);
için(Kahve=0;Kahve<10;Kahve++)
{
Baskı(“%NS”Ve(Koştu()%10)+1);
}
Baskı(“\n“);
dönüş0;
}
Örnek 3.c’de 1 ile 10 arasındaki rasgele sayıların nasıl üretilebileceğini gördük.
#birleştirmek için
#birleştirmek için
#birleştirmek için
int o()
{
int KahveVeMaksimumVedk;
Baskı(“Minimum değeri girin =>”);
tarama yapıldı(“%NS”Ve &dk);
Baskı(“Maksimum değeri girin =>”);
tarama yapıldı(“%NS”Ve &Maksimum);
eğer(dk>Maksimum)
{
Baskı(Minimum değer maksimum değerden büyük\n“);
dönüş0;
}
Sarand(zaman(0));
Baskı(%d ile %d arasında 10 rasgele sayı =>\n“VedkVeMaksimum);
için(Kahve=0;Kahve<10;Kahve++)
{
Baskı(“%NS”Ve(Koştu()%(Maksimum – dk +1))+ dk);
}
Baskı(“\n“);
dönüş0;
}
Example4.c’de kullanıcıdan aralığı alıyoruz ve bu aralık içinde rastgele bir sayı üretiyoruz. formül – formül: Rand()% (maks – min +1)) + min
#birleştirmek için
#birleştirmek için
#birleştirmek için
int o()
{
int Kahve;
Sarand(zaman(0));
Baskı(0.0’dan 1.0’a kadar 10 rasgele sayı =>\n“);
için(Kahve=0;Kahve<10;Kahve++)
{
Baskı(“%F”Ve((Batmadan yüzün)Koştu()/RAND_MAX));
}
Baskı(“\n“);
dönüş0;
}
Örnek 5.c’de, 0.0’dan 1.0’a kadar rasgele sayıları nasıl üretebileceğimizi gördük. formül – formül: (varlık)rand()/RAND_MAX)
#birleştirmek için
#birleştirmek için
#birleştirmek için
int o()
{
int Kahve;
Batmadan yüzün MaksimumVedk;
Baskı(“Minimum değeri girin =>”);
tarama yapıldı(“%F”Ve &dk);
Baskı(“Maksimum değeri girin =>”);
tarama yapıldı(“%F”Ve &Maksimum);
eğer(dk>Maksimum)
{
Baskı(Minimum değer maksimum değerden büyük\n“);
dönüş0;
}
Sarand(zaman(0));
Baskı(%f ile %f arasında 10 rasgele sayı =>\n“VedkVeMaksimum);
için(Kahve=0;Kahve<10;Kahve++)
{
Baskı(“%F”Vedk +((Batmadan yüzün)Koştu()/(RAND_MAX/(Maksimum – dk))));
}
Baskı(“\n“);
dönüş0;
}
Example6.c’de, kullanıcıdan aralığı alırız ve bu aralık içinde (her ikisi de dahil) rastgele bir sayı üretiriz. formül – formül: min + ((kayan) rand() / (RAND_MAX / (maks – min)))
Çözüm:
Bu yazımızda rastgele sayıların nasıl üretilebileceğini öğrendik. rand () E srand() İşlev. Rand işlevi tarafından üretilen rasgele sayıların kalitesi hakkında hiçbir garanti yoktur, ancak normal kullanım için yeterince iyidir.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın