Разместить элементы массива так, чтоб сначала шли все числа, большие данного числа, а потом – остальные - C#

Узнай цену своей работы

Формулировка задачи:

Доброго вечера Помогите, пожалуйста, код дописать
Листинг программы
  1. //Дан массив целых чисел. Не используя нового массива, разместить элементы массива так,
  2. //чтоб сначала шли все числа, большие данного числа, а потом – остальные.
  3. int i, n,x;
  4. Console.WriteLine("Введите число, которое будет минималным для массива");
  5. x = Int32.Parse(Console.ReadLine());
  6. Console.WriteLine("Введите размер массива целых чисел");
  7. n = Int32.Parse(Console.ReadLine());
  8. int[] mas = new int[n];
  9. for (i = 0; i < n; i++)
  10. {
  11. Console.WriteLine("Введите " + i + " элемент массива");
  12. mas[i] = Int32.Parse(Console.ReadLine());
  13. }
  14. Console.WriteLine("Содержимое массива после сортировки: ");
  15. for (i = 0; i < n; i++)
  16. {
  17. if (mas[i] > x)
  18. {
  19. Console.Write("{0} ", mas[i]);
  20. }
  21. }

Я написал, чтобы выводились только элементы, большие указанного. А как вывести сначала большие элементы, а потом все остальные ? При этом нельзя новый массив создавать

Решение задачи: «Разместить элементы массива так, чтоб сначала шли все числа, большие данного числа, а потом – остальные»

textual
Листинг программы
  1. int i = 0, j = mas.Length - 1;
  2. while (i < j)
  3. {
  4.     if (mas[i] > x) i++;
  5.     else if (mas[j] > x)
  6.     {
  7.         var t = mas[i];
  8.         mas[i++] = mas[j];
  9.         mas[j] = t;
  10.     }
  11.     else j--;
  12. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы