[C#] obliczenia textbox + sortowanie
Witam,
Dopiero zaczynam przygodę z programowanie, zrobiłem program do sumowania 13 liczb wpisanych w textbox.
Potrzebuje dodać do tego jeszcze sortowanie liczb tzn żeby program sortował mi te 13 liczb z textboxów (zakres liczbowy 1-10) i 10 najwyższych np 10 9 9 8 7 6 4 3 2 1 sumował ze sobą (wynik 87). Jak mógł bym to zrobić ??
w PHP kod wygląda tak:
[code]PHP
$ar = array($_POST['f1'],
$_POST['f2'],
$_POST['f3'],
$_POST['f4'],
$_POST['f5'],
$_POST['f6'],
$_POST['f7'],
$_POST['f8'],
$_POST['f9'],
$_POST['f10'],
$_POST['f11'],
$_POST['f12'],
$_POST['f13']);
arsort($ar);
array_splice($ar,10);
echo array_sum($ar);[/code]
Pozdrawiam
Odpowiedzi: 4
Dzięki
Mam jeszcze takie pytanko zablokowałem sobie textboxy żeby można było pisać w nich tylko liczby
[code]
if (!Char.IsNumber(e.KeyChar) && (byte)e.KeyChar != 8)
e.KeyChar = (char)0;
[/code]
ale nie wiem za bardzo jak zrobić w nich przedział 0-10.
i nie wiem za bardzo jak zrobić sprawdzanie czy do textbox została wpisana jakaś wartość no na chwilę obecną jak zostawiam pustego textboxa to crahuje mi program
Pozdrawiam
[code]textBox14.Text = suma.ToString();[/code]
dzięki mam jeszcze pytanko jak mogę zrobić żeby wynik sortowanie wyświetlił mi się w textbox 14
Tak na szybko zrobiłem:
[code]
//do tablicy wpisuje zawartość textBoxów konwertując je do double
double[] tablica = {
Convert.ToDouble(textBox2.Text),
Convert.ToDouble(textBox3.Text),
Convert.ToDouble(textBox4.Text),
Convert.ToDouble(textBox5.Text),
Convert.ToDouble(textBox6.Text),
Convert.ToDouble(textBox7.Text),
Convert.ToDouble(textBox8.Text),
Convert.ToDouble(textBox9.Text),
Convert.ToDouble(textBox10.Text),
Convert.ToDouble(textBox11.Text)
};
//do tablicy 'posortowana' jest kopiowana zawartość tablicy 'tablica'
//a następnie sortowana
double[] posortowana = new double[tablica.Length];
Array.Copy(tablica, posortowana, tablica.Length);
Array.Sort(posortowana);
//do tablicy 'odwrócona' jest kopiowana zwartość tablicy 'posortowana'
//następnie elementy tablicy zostają odwrócone
double[] odwrócona = new double[tablica.Length];
Array.Copy(posortowana, odwrócona, posortowana.Length);
Array.Reverse(odwrócona);
double suma = 0;
//pętla sumuje 10 pierwszych liczb z tablicy 'odwrócona'
for (int i = 0; i < 10; i++)
{
suma += odwrócona[i];
}
[/code]
Strona 1 / 1