onedups

C# Sayısal Loto

Sayısal Loto mantığını anlatmak gerekirse 49 sayı içerisinden 6 tane sayı seçilir ve seçilen tüm sayılar birbirinden farklıdır.
ihtiyacımız olan şeyler 1 BUTON ve 1 LİSTBOX Tasarımımızı yaptığımıza göre kodlarımıza başlayalım

ÖNEMLİ NOT: Dizi oluşturduğumuzda hata veriyorsa
using System.Collections;
Kütüphanesi Eklemelisiniz!!!

listBox1.Items.Clear();
Random rnd = new Random();
ArrayList sayi49 = new ArrayList();
ArrayList sayi6 = neode>

Random sayı üretebilmek için rnd kullanıyoruz 49 ve 6 tane sayıları içerisinde barındırabilmek için sayi49 ve sayi6 olarak dizi tanımlıyoruz

for (int x = 1; x <= 6; x++)
{
    int index = rnd.Next(0, sayi49.Count);
    sayi6.Add(sayi49[index]);                        
    sayi49.RemoveAt(index);        
}

index adında bi değişken tanımlıyoruz ve bu değişken ile sayi49 içerisindeki eleman sayısı aralığında random sayı alıyoruz ve sayi6 ya seçilen random sayıyı atarak sayi49 içerisinden o sayıyı siliyoruz ki tekrardan o sayıyla karşılaşmayalım.

Dikkat edilmesi gerekenlerden en önemli yer sayi49 un içerisine 49 tane sayı yazdırıyoruz ve içerinden 6 tane sayı seçiyoruz bunu direk randomdan 6 sayı çekerek yaparsak aynı sayı gelme ihtimalleri var buggsuz en mantıklı yol budur..

sayi6.Sort();  

for (int i = 0; i < 6; i++)
{
    listBox1.Items.Add(sayi6[i].ToString());     
}

sayi6.sort komuduyla sayi6 dizisinin içerisindeki elemanları küçükten büyüğe doğru sıraladık
ve for döngüsüyle tüm elemanları yazdırarak programımızı bitirdik.

Kodların Bir Bütün Hali

listBox1.Items.Clear();
Random rnd = new Random();
ArrayList sayi49 = new ArrayList();
ArrayList sayi6 = new ArrayList();

for (int i = 1; i <= 49; i++)
{
    sayi49.Add(i);  
}
for (int x = 1; x <= 6; x++)
{
      int index = rnd.Next(0, sayi49.Count);
      sayi6.Add(sayi49[index]);                        
      sayi49.RemoveAt(index);        
}
sayi6.Sort();  

for (int i = 0; i < 6; i++)
{
      listBox1.Items.Add(sayi6[i].ToString());     
}
onedups ~ terminal