Напишите программу, которая заполняет массив случайными числами в диапазоне [a, b] и сортирует его “домиком” – до половины в порядке возрастания, затем – в порядке убывания. количество элементов в массиве может быть любое! с объяснениями и откуда что взялось?
// Внимание! Если программа не работает, обновите версию!
begin
var (a,b,n):=ReadInteger3('Интервал [a,b] и число элементов;');
var M:=ArrRandom(n,a,b); M.Println; // заполнение и вывод массива
var k:=n div 2; // середина массива
M:=(M[:k].OrderBy(t->t)+M[k:].OrderByDescending(t->t)).ToArray;
M.Println
end.
Примеры
Интервал [a,b] и число элементов; -50 50 19
-12 -45 5 28 -43 -45 21 4 -44 49 7 -30 1 24 -23 2 -17 -48 32
-45 -45 -44 -43 -12 4 5 21 28 49 32 24 7 2 1 -17 -23 -30 -48
Интервал [a,b] и число элементов; 0 1 30
0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0