C++ Random Numaralardan 0 Gelmesini Engelleme

0 Gelmesini Engelleyerek Rastgele Sayı Üretme

Rastgele sayı üretme, bilgisayar bilimlerinde ve istatistikte yaygın olarak kullanılan önemli bir görevdir. Ancak, belirli uygulamalarda, 0’ın rastgele sayı aralığında görünmesini engellemek gerekebilir. Bu makale, C++’da 0’ın rastgele sayı üretiminde nasıl engelleneceğine dair kapsamlı bir kılavuz sağlayacaktır.

Neden 0’ı Engellemeliyiz?

0’ı rastgele sayı aralığından engellemenin birkaç nedeni şunlardır:

  • Veri Bütünlüğünün Korunması: Bazı uygulamalarda, 0 özel bir değer olarak kullanılır ve rastgele sayı aralığında görünmesi veri bütünlüğünü bozabilir.
  • Veri Analizi: 0’ın rastgele sayı aralığında görünmesi, veri analizi ve modellemeyi etkileyebilir.
  • Kullanıcı Deneyimi: Bazı durumlarda, 0’ın rastgele sayı aralığında görünmesi kullanıcı deneyimini olumsuz etkileyebilir.

C++’da 0’ı Engelleme Yöntemleri

C++’da 0’ı rastgele sayı üretiminde engellemek için birkaç yöntem kullanılabilir:

1. Standart Kütüphane İşlevlerini kullanma:

C++ standart kütüphanesi, std::rand() ve std::random_device() gibi rastgele sayı üreten işlevler sağlar. Bu işlevler, 0’ı aralıktan hariç tutmak için yapılandırılabilir.

“`cpp

include

int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution dist(1, 10); // 0 hariç 1-10 aralığında sayılar üretir

for (int i = 0; i < 10; i++) {
std::cout << dist(gen) << std::endl;
}

return 0;
}
“`

2. Üçüncü Taraf Kütüphaneleri kullanma:

Boost ve GSL gibi C++ için çeşitli harici kütüphaneler, 0’ı rastgele sayı üretiminde engellemeye özel işlevler sağlar.

3. El ile Uygulama:

0’ı rastgele sayı aralığından manuel olarak engellemek için aşağıdaki adımlar izlenebilir:

  • 0 hariç bir aralıkta rastgele bir sayı üretin.
  • Üretilen sayı 0’a eşit değilse, onu döndürün.
  • Aksi takdirde, 0 hariç bir aralıkta tekrar rastgele bir sayı üretin.

“`cpp
int get_random_number_without_zero(int min, int max) {
int num;
do {
num = rand() % (max – min + 1) + min;
} while (num == 0);

return num;
}
“`

Faydalı Kaynaklar


Yayımlandı