Заполнить массив из 10 элементов случайными числами в интервале [0.100] и отсортировать первую половину по - PascalABC.NET

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

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

Может кому нибудь да пригодится) Стараюсь все делать по шагам и чтобы было понятно каждому. Иногда вижу простые программы, но составленные очень запутанным способом. Поэтому желаю чтобы все программировали как можно понятнее и выкладывали свои результаты! Каждый должен делать вклад))

Решение задачи: «Заполнить массив из 10 элементов случайными числами в интервале [0.100] и отсортировать первую половину по»

textual
Листинг программы
const n=10;
begin
  randomize; //инициализируем ДСЧ
  var a:=Range(0,n-1).Select(i->random(0,100)).ToArray(); //заполняем массив
  a.Println; //печатаем
  a:=Range(0,n div 2-1).Select(i->a[i]).OrderBy(i->i).
      Concat(Range(n div 2,n-1).Select(i->a[i]).OrderByDescending(i->i)).ToArray();
  a.Println;  //печатаем
end.

Объяснение кода листинга программы

  1. Инициализируем ДСЧ с помощью функции randomize.
  2. Заполняем массив a с помощью функции random(0,100), которая генерирует случайное число в интервале [0,100]. Используем метод Select для выбора элементов из диапазона от 0 до n-1 и присваиваем результат массиву a.
  3. Печатаем массив a с помощью функции Println.
  4. Сортируем первую половину массива a с помощью метода OrderBy(i->i), который сортирует элементы по возрастанию их индексов.
  5. Сортируем вторую половину массива a с помощью метода OrderByDescending(i->i), который сортирует элементы по убыванию их индексов.
  6. Объединяем отсортированные половины массива с помощью метода Concat и присваиваем результат обратно массиву a.
  7. Печатаем отсортированный массив a с помощью функции Println.

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

10   голосов , оценка 4.2 из 5
Похожие ответы