Как сделать частичную сортировку массива? - C#
Формулировка задачи:
Здравствуйте. Мне было дано такое вот задание:
Отсортировать по возрастанию только те элементы массива, которые делятся на сумму своих цифр.
Но я не могу разобраться, как сделать саму сортировку. Вот моя "наработка":
Прошу, помогите
int[] mass = new int[10]; Random rnd = new Random(); int min = 0, max = 0, a = 0, s = 0, ost = 0; private void button1_Click(object sender, EventArgs e) { //Сортировка for (int i = 0; i < mass.Length; i++) { //for (int j = 0; j < mass.Length - 1; j++) //{ a = mass[i]; while (a > 0) { s = s + (a % 10); a = a / 10; } ost = mass[i]%s; s = 0; if (ost == 0) { Array.Sort(mass); //if (mass[j] > mass[j + 1]) //{ // int z = mass[j]; // mass[j] = mass[j + 1]; // mass[j + 1] = z; //} } } // } } private void button2_Click(object sender, EventArgs e) { //Создание массива min = Convert.ToInt32(textBox3.Text); max = Convert.ToInt32(textBox4.Text); for (int i = 0; i < 10; i++) mass[i] = rnd.Next(min, max); for (int i = 0; i < 10; i++) { textBox1.Text += mass[i] + " "; }
Решение задачи: «Как сделать частичную сортировку массива?»
textual
Листинг программы
int[] ints = {5, 4, 3, 2, 1}; var sort = InsertionSortSpecific(ints, i => i < 5); foreach (int i in sort) { Console.WriteLine(i); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д