Eğitime tam destek yazı dizimize devam ediyoruz. Siz de sorularınızı yorum olarak gönderebilir, daha fazla kişinin çözüm bulmasına yardımcı olabilirsiniz. Çalışmamıza geçecek olursak; Şekildeki gibi bir formumuz olacak ve üret butonuna tıkladığımızda 0 – 100 arasında 100 adet sayı üreterek 1. ListBox içerisine ekleyecek. Daha sonra Aranan sayı textbox’ına girilen değerin hem kaç sefer geçtiğini hesaplayacak hem de kaçıncı sırada üretildiği bilgisini ikinci listbox içerisine yazacak kod çalışmasını yapalım.

  • Bu örneğimizin amacı rastgele sayı üretme ve üretilen sayıları içerisinde arama yapmaktır.
C# Dersleri
  • Sayılar form yüklendiğinde değil butona tıklayınca üretilecektir.
int[] Sayilar = new int[100]; // Dizi içerisideki değerlere diğer butonlardan erişebilmek için dışarıda tanımlanıyor.
        private void btnUret_Click(object sender, EventArgs e)
        {
            listSayilar.Items.Clear(); // Daha önce üretilen sayılar temizleniyor
            Random rs = new Random();

            for (int i = 0; i < 100; i++)
            {
                // 0 - 100 arasında sayı üretilip listbox'a ekleniyor
                // Sayıların üretilme sıraları da i değişkeninden alınıyor.
                // i değişkeni 0 dan başladığı için sıra numarası bir fazlası olmalı.
                Sayilar[i] = rs.Next(0, 100); // Sayılar daha sonra aranabilsin diye diziye yazılıyor.
                listSayilar.Items.Add((i + 1).ToString() + "-" + Sayilar[i]);
            }
        }
  • Aranmak istenilen sayı girilerek ikinci butona tıklayınca daha önce üretilen sayılar ile kıyaslama yapılacak. Ve sayaç değişkeni ile de kaç kez bulunduğu hesaplanacaktır.
private void btnSayiAra_Click(object sender, EventArgs e)
        {
            int sayac = 0;
            // Üretilen sayılar üzerinde arama yapılacak. Döngü 100 kez tekrar edecektir.
            for (int i = 0; i < Sayilar.Length; i++)
            {
                if (txtArananSayi.Text == Sayilar[i].ToString()) // Aranan sayi ile dizinin i indeksi eşitse 
                {
                    // Bulunan sayılar listbox'ına tüm eşleşmelerde bulundu diye yazılıyor.
                    listBulunanlar.Items.Add("Aranan sayı " + (i + 1).ToString() + ". sırada bulunmuştur");
                    sayac++; // Bulundukça sayaç da 1 arttırılıyor.
                }
            }

            // Döngü bittikten sonra lblSonuç içerisinde kaç kez buluduğu yazılıyor. Yoksa mesaj verdiriliyor.
            if (sayac == 0)
            {
                MessageBox.Show("Aranan sayı daha önce hiç üretilmemiş.", "Aranan Sayının Yok");
            }
            else
            {
                lblSonuc.Text = "Aranan sayı; " + sayac.ToString() + " kez üretilmiştir.";
            }
        }

Program çıktımız aşağıdaki gibi olacaktır. Faydalı olması dileğiyle. Yorum yapmayı ve paylaşmayı unutmayın 😉

Yorum Yazın

E-Posta Adresiniz görüntülenmeyecektir. Zorunlu alanlar *
Yan taraftaki HTML kodları kullanarak yorum yapabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>