Eşsiz Rastgele Sayı Üretme
C# ile üretilen Rastgele sayılar Pseudo Random yani Yalancı rastgele sayılardır. Bu sayılar tekrar edebilir, yani 1 ila 20 arasında 10 sayı üret dediğinizde bu 10 sayının aynı üretilme ihtimali vardır. Bu yazımızda eşsiz şekilde sayı üretmeye çalışacağız.
Bu işlem için şöyle bir algoritma kurduk, 10 sayı üreteceksek 10 elemanlı bir dizi oluşturuyoruz. Sonra sonsuz bir döngü açıyoruz. ürettiğimiz sayı bu dizide var mı kontrol ediyoruz, yoksa diziye ekliyoruz, varsa tekrar ürettiriyoruz.
Önce aşağıdaki gibi bir form tasarlıyoruz. Burada Rastgele Üret (Normal) klasik yöntemlerle rastgele sayı üretip Listbox nesnemize(ismini lbRastgele verdik) dolduruyor. İkinci yöntemde ise Rastgele eşsiz sayı ürettiriyoruz.
Klasik şekilde rastgele sayı üretme buton Click olayını içeriği aşağıdaki gibidir. Şimdiye kadar farklı örneklerde yaptığımı bu yöntemde aynı sayının üretilebilme ihtimali her zaman vardır.
private void btnRastgele_Click(object sender, EventArgs e)
{
int[] dizi = new int[10];
Random rastgele = new Random();
int sayi;
lbRastgele.Items.Clear();
for(int i=0;i<10;i++)
{
sayi= rastgele.Next(1, 100); //1...99 a kadar üretir, bu sayılar dahil
lbRastgele.Items.Add(sayi);
}
}
Eşssiz Rastgele Sayı Üret button Click olayının içeriği aşağıdaki gibidir. Burada dizimizde üretilen sayı olup olmadığını Contains metodu ile if (!dizi.Contains(sayi)) şeklinde kontrol ettiryoruz. Contains metoduna parametre olarak verdiğimiz sayı içeriyorsa True, içermiyorsa False dönecektir.
private void btnRastgeleEssiz_Click(object sender, EventArgs e)
{
lbRastgele.Items.Clear();
int[] dizi = new int[10];
Random rastgele = new Random();
int sayi, index=0;
for (;;)
{
sayi= rastgele.Next(1, 100);
if (!dizi.Contains(sayi))
{
if (index < dizi.Length)
{
dizi[index] = sayi;
index++;
}
}
else continue;
if (index == dizi.Length) break;
} //döngü bitti
//Şimdi dizimizdeki eşsiz sayıları listbox içine yazdırıyoruz
//Şimdi dizimizdeki eşsiz sayıları listbox içine yazdırıyoruz
for (int i = 0; i < dizi.Length; i++)
lbRastgele.Items.Add(dizi[i].ToString());
MessageBox.Show("İşlem başarıyla tamamlandı", "İşlem Tamam", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Bundan rastgele sayılar üzerine farklı örneklerle devam edeceğiz.
Mutlu kodlamalar,
Oğuzhan TAŞ
Aralık, 2023
Bundan rastgele sayılar üzerine farklı örneklerle devam edeceğiz.
Mutlu kodlamalar,
Oğuzhan TAŞ
Aralık, 2023
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?