Üye Girişi Yapınız     


    E-Posta
    

    Şifreniz
    



Şifremi Unuttum


Ana Sayfa Site Hakkında İletişim Ziyaretçi Defteri Döküman İndir Makale Ekle Haber Ekle

     C#’ta diziye girilen sayıları sıralama
     admin     12.03.2013     14:06:41

Bu makalemde C# programlama dilinde sayı sıralama işlemini gerçekleştireceğiz. Sayıların sıralanabilmesi için sıralanacak olan sayıları bir dizide tutmak en mantıklı yoldur. Bu uygulamamızda tek boyutlu bir dizi kullanacağız. Öncelikle kullanıcıdan kaç adet sayı sıralamak istediği sorulacak ve verilen cevap kadar döngü tekrar ederek kullanıcıdan ratgele sayılar girmesi istenecek. Girilen sayılar ListBox1’de listelenecek.




Daha sonra kullanacı sıralamayı nasıl yapmak istiyorsa(küçükten büyüğe ya da büyükten küçüğe) seçimini yapacak ve sayıları sırala butonuna tıklayarak sayıların sıralanmış halini ListBox2’de görecek. Uygulamamızın çalışmış halinin görüntüsü yandaki resim gibi olacaktır.

Sayı sıralama için bilinen değişik yöntemler vardır. Ben burada yer değiştirme sıralaması tekniğini kullandım. Her sayı kendisinden sonra gelen sayılarla karşılaştırılıyor ve büyüklük küçüklük durumuna göre yer değiştiriliyor.

Yer değiştirmek için ise geçici olarak sayı tutması için üçüncü bir değişken kullanılıyor. (Ben burada takas adında bir değişken kullandım.)

Program kodlarını inceleyiniz.

 

 

Program Kodları şu şekildedir :

 

public partial class Form1 : Form
    {
        int[] sayilar;
        int sayi_say, i,k,takas;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e) //Sayı Giriş Butonu
        {
            listBox1.Items.Clear();
            listBox2.Items.Clear();
            sayi_say = Convert.ToInt32(Microsoft.VisualBasic.Interaction.InputBox("Kaç Sayı Sıralayacak sınız?", "Değer Girişi","", 300, 300));
            sayilar = new int[sayi_say];
            for (i = 0; i < sayi_say; i++)
            {
                sayilar[i] = Convert.ToInt32(Microsoft.VisualBasic.Interaction.InputBox("Sayı Gir", "Değer Girişi", "", 600, 400));
                listBox1.Items.Add(sayilar[i]);
            }
        }

        private void button2_Click(object sender, EventArgs e) //Sayı Sıralama Butonu
        {
            listBox2.Items.Clear();
            if (rd1.Checked == false && rd2.Checked == false)
            {
                MessageBox.Show("Sıralama Şeklini Seçmediniz");
            }
            else
            {
                for (i = 0; i < sayi_say - 1; i++)
                {
                    for (k = i + 1; k < sayi_say; k++)
                    {
                        if (rd1.Checked)
                        {
                            if (sayilar[i] > sayilar[k])
                            {
                                takas = sayilar[i];
                                sayilar[i] = sayilar[k];
                                sayilar[k] = takas;
                            }
                        }
                        if (rd2.Checked)
                        {
                            if (sayilar[i] < sayilar[k])
                            {
                                takas = sayilar[i];
                                sayilar[i] = sayilar[k];
                                sayilar[k] = takas;
                            }
                        }
                    }
                }
                for (i = 0; i < sayi_say; i++)
                {
                    listBox2.Items.Add(sayilar[i]);
                }
                MessageBox.Show("Sayılar Sıralandı.");
            }
        }
    }

Facebook'ta Paylaş    
Diğer C İçerikleri       Tüm Yazılar        Ana Sayfa


  =>Soru Sorun veya Yorum Yazın...

İsim Giriniz :
  

  =>Yapılan Yorumlar...