• Предмет: Информатика
  • Автор: Elmir03042003
  • Вопрос задан 7 лет назад

Срочно. Напишите программу, которая заполняет массив случайными числами в диапазоне [a, b] и сортирует его “домиком” – до половины в порядке возрастания, затем – в порядке убывания. Количество элементов в массиве может быть любое! С объяснениями и откуда что взялось?

Ответы

Ответ дал: Аноним
0
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!

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
Ответ дал: Elmir03042003
0
или 3500 (если речь идет о карликовых мамонтах)
Ответ дал: Аноним
0
Но программы мы писали и до того, как придумали C и Pascal ))
Ответ дал: Аноним
0
Поэтому, к примеру, я могу писать на любом из ШЕСТИ известных мне диалектов Паскаля.
Ответ дал: Аноним
0
Они все при мне появлялись. По очереди)))
Ответ дал: Аноним
0
Но если у меня есть калькулятор, я не стану полчаса считать на бумажке в столбик. Даже за 30 баллов.
Вас заинтересует