14 Mart 2016 Pazartesi

C# Dizi sıralama (TextBox'a girilen değerlere göre)

C# Dizi sıralama


c# dizi sıralama


Sizden bir method ve bu methoduun kullanıldığı bir program yazmanız isteniyor.Method parametre olarak aldığı diziyi küçükten büyüğe yada büyükten küçüğe sıralayıp sıralı diziyi geri döndürecek.  Yazacağınız program sıralanmış diziyi ekranda gösterecek. Herhangi bir sıralama algoritması kullanılabilirsiniz.Burada girilen dizi karakterleri arasında 1 space boşluk bırakılarak giriş sağlanmıştır bu girişler kullanıcıdan alınıp trim ve split komutu ile bir string arraya geçirilip oradan number array e geçirilmiştir ve daha sonra sort ve reverse fonksiyonu ile sıralanmıştır.sort fonksiyonu küçükten büyüğe , reverse ise büyükten küçüğe sıralama yapar

 

Çözüm:

Önce kullandığımı methodları açıklayalım  :

Trim metodu karakterin başındaki ve sonundaki boşlukları atmak için kullanılır. Eğer ki sadece kelimelerin başındaki ya da sonundaki boşlukları aşmak istiyorsak TrimEnd ve TrimStart metotlarını da kullanabiliriz.

Bu metotların yapmış olduğu işlemlere örnek verecek olursak hazırladığımız programda kullanıcının mailden gelen güvenlik kodunu gireceği bir alan var. Genelde mailimizden direkt kopyala yapıştır yaparız ve kimi zaman karakter topluluğunun başında veya sonundaki fazladan boşlukları da alırız. Bu da programın güvenlik kodunu yanlış algılamasına neden olacaktır. Bu gibi durumları engellemek için Trim metotunu kullanabiliriz.

Split Metodu Kelime veya kelime gruplarında belirlenen karakterden sonrasını bölmek için kullanılır. Bu işlem sırasında belirlenen karakteri kaldıracaktır.c# dizi sıralama

 

[caption id="attachment_171" align="alignnone" width="647"]c# dizi sıralama c# dizi sıralama[/caption]

Saf Kod text hali :

using System;
using System.Windows.Forms;
namespace _152120121048_OZANMANAV_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSirala_Click(object sender, EventArgs e)
{
String text = txtSiralanmamisDizi.Text;
text = text.Trim(' ');
String[] textArray = text.Split(' ');

double[] numberArray = new double[textArray.Length];

for (int i = 0; i < textArray.Length; i++)
{
numberArray[i] = Double.Parse(textArray[i]);

}

if (rbKucuktenBuyuge.Checked)
{
txtSiralanmisDizi.Clear();
Array.Sort(numberArray);
for (int i = 0; i < numberArray.Length; i++)
{
txtSiralanmisDizi.Text += numberArray[i].ToString()+' ';
}
}

else
{
txtSiralanmisDizi.Clear();
Array.Reverse(numberArray);
for (int i = 0; i < numberArray.Length; i++)
{
txtSiralanmisDizi.Text += numberArray[i].ToString() + ' ';
}
}
}
}
}

c# dizi sıralama , c# textbox dizi sıralama , dizi sıralama , c# textbox'a girilen değerleri sıralama

Hiç yorum yok:

Yorum Gönder