Array.Sort не сортирует одномерный массив - C#
Формулировка задачи:
Добрый день! Подскажите, пожалуйста, что не так с кодом?
Задача: В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-количество отрицательных элементов массива;
-сумму модулей элементов массива, расположенных после минимального по модулю элемента. Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.
Всё шло не плохо, пока не понадобилось упорядочить массив. Пыталась с помощью Array.Sort, но выводит одни нули, не могу понять в чем проблема. Скрин и код прилагается. C# только начала изучать.
private void button1_Click(object sender, EventArgs e) { textBox2.Text = ""; textBox3.Text = ""; Random a = new Random(); int n = Convert.ToInt32(textBox1.Text); int[] mas = new int[100]; int[] mas1 = new int[100]; for (int i = 0; i < n; i++) // создаем массив { if (a.Next(100) > 50) mas[i] = a.Next(5); else mas[i] = -a.Next(5); textBox2.Text = textBox2.Text + Convert.ToString(mas[i]) + " "; } int m = 0; for (int i = 0; i < n; i++) //ищем количество отрицательных элементов { if (mas[i] < 0) m++; } label2.Text = "количество отрицательных элементов: " + Convert.ToString(m); int min = Math.Abs(mas[0]); int minK = 0; for (int i = 1; i < n; i++) //минимальный по модулю элемент { if (Math.Abs(mas[i]) < Math.Abs(min)) { min = mas[i]; minK = i; } } label4.Text = "минимальный по модулю элемент " + Convert.ToString(min); int sum = 0; for (int i = minK; i < n; i++) //сумма модулей расположенных после минимального по модулю элемента { sum = Math.Abs(mas[i]) + sum; } label3.Text = "Сумма модулей " + Convert.ToString(sum); for (int i = 0; i < n; i++) //Заменить все отрицательные элементы массива их квадратами { if (mas[i] < 0) mas[i] = mas[i] * mas[i]; textBox3.Text += Convert.ToString(mas[i]) + " "; } Array.Sort(mas); //упорядочить элементы массива по возрастанию for (int i = 1; i < n; i++) { textBox4.Text += Convert.ToString(mas[i]) + " "; } }
Решение задачи: «Array.Sort не сортирует одномерный массив»
textual
Листинг программы
int[] mas = new int[n];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д