C# n tane sayının en büyük olanını bulmak

Başlatan vitruvius, 18 Nisan 2011, 01:15:24

vitruvius

Merhaba benim sorunum mesela kullanıcı 10 tane textboxa sayı girecek ve bunların en büyüğünü bulmak. Birkaç kişiye sordum if'lerle tek tek hepsini kontrol et dediler. Lakin bu şekilde kod oldukça uzuyor her ihtimal için. Acaba bu işin kısayolu nasıl yapılır? Teşekkürler.

RcALTIN

#1
Alıntı yapılan: vitruvius - 18 Nisan 2011, 01:15:24
Merhaba benim sorunum mesela kullanıcı 10 tane textboxa sayı girecek ve bunların en büyüğünü bulmak. Birkaç kişiye sordum if'lerle tek tek hepsini kontrol et dediler. Lakin bu şekilde kod oldukça uzuyor her ihtimal için. Acaba bu işin kısayolu nasıl yapılır? Teşekkürler.

içindeki sayıları işleme tabi tutacağınız textboxları groupbox veya panel gibi bir container nesnesi içine alın(almazsanız this.Controls olarak kullanacaksınız); nesnenin içindeki textboxları tarayıp değerlerini bir dizide toplayın ve dizi üzerinde işlem yapın... şöyleki; groupbox kullandığınızı düşünerek basit bir örnek vereyim:
int[] d = new int[groupBox1.Controls.Count];
for(int i = 0; i < groupBox1.Controls.Count; i++)
{
if(groupBox1.Controls[i] is TextBox)
{
TextBox t = groupBox1.Controls[i];
d[i] = int.Parse(t.Text);
}
}
Array.Sort(d);
Array.Reverse(d);
//en büyük sayı d dizisinin 0. indisine (d[0]) geldi...

(belki kod hatam olabilir, derleyicisiz üstünkörü yazdım; önemli olan mantık)
KİMSEYİ ENGELLEDİĞİM YOK, ÖZEL İLETİ DEVRE DIŞI !