Bir diziyi parametre alıp, dizi döndüren metod

Bu yazımızda bir diziyi parametre alıp, dizi döndüren metod örneği yapacağız. Önce form üzerine ilk önce bir GroupBox nesnesi koyalım, ardından iki tane Radio Button nesnesini bu GroupBox nesnesi içine yerleştirelim. Bir button ve altına iki TextBox koyalım.  



Aşağıdaki metod bir diziyi parametre olarak alıp, geriye bir dizi döndürüyor. Gelen dizi içindeki tek sayıları yeni bir diziye aktarıp döndüreceğiz. Sonuç dizimizde ne kadar tek sayı olduğunu bilmediğimiz için sonuc dizimizi tanımlarken uzunluğunu gelen dizi kadar veriyoruz. 

int[] tekSayilariGetir(int[] dizi)
        {
            int[] sonuc = new int[dizi.Length];
            int k=0;
            for (int i = 0; i < dizi.Length; i++)
            {
                if(dizi[i]%2==1){
                    sonuc[k] = dizi[i];
                    k++;
                }
                    
            }
            return (sonuc);
 
        }
 
Yukarıda metod içinde dizi elemanları arasında dolaşıp tek sayıları if (dizi[i]%2==1) şeklinde kontrol ediyoruz ve sonuc dizimize yazıyoruz. sonuc dizimizin indislerinin 0,1,2 şeklinde gitmesi için her seferinde bir artırıyoruz. Benzer şekilde çift sayıları döndürmek için ciftSayilariGetir metodu yazıyoruz. Aslında yukarıdaki ile aynı sadece if (dizi[i]%2==0) şeklinde değişiyor.

 int[] ciftSayilariGetir(int[] dizi)
        {
            int[] sonuc = new int[dizi.Length];
            int k = 0;
            for (int i = 0; i < dizi.Length; i++)
            {
                if (dizi[i] % 2 == 0)
                {
                    sonuc[k] = dizi[i];
                    k++;
                }
 
            }
            return (sonuc);
 
        }


Şimdi de Getir butonuna tıklayıp oluşturduğumuz bu metodları kullanalım. Örnek olması için tek ve çift sayıları içeren bir a dizisi oluşturduk.  Burada rbCift yani çift sayıları getir radyo butonuna tıklanmış ise çift sayıları getiren metodu çağırıyoruz. Eğer rbTek yani tek sayıları içeren radyo butonuna tıklanmış ise çift sayıları getiriyoruz. 
 
 private void btnGetir_Click(object sender, EventArgs e)
        {
            int[] a = { 15, 25, 17, 3, 21, 28, 30 };
           
            int[] tek = new int[a.Length];
            int[] cift = new int[a.Length];
 
 
            if(rbTek.Checked)
                tek = tekSayilariGetir(a);
            if (rbCift.Checked)
                cift = ciftSayilariGetir(a);
 
            string tekler="";
            for (int i = 0; i < tek.Length; i++)
            {
                if (tek[i]!=0)
                tekler += tek[i].ToString() + " ";
            }
               
 
            txtTek.Text = tekler;
            
            string ciftler = "";
            for (int i = 0; i < cift.Length; i++)
            {
                if (cift[i] != 0)
                ciftler += cift[i].ToString() + " ";
            }
               
            txtCift.Text = ciftler;
 
        }







Şimdilk bu kadar iyi çalışmalar dilerim.

Mutlu kodlamalar,
Oğuzhan TAŞ
07.03.2022


Bookmark and Share