Пять лет назад был принят закон о защите персональных данных... Но для ого что бы оформить человека на работу, необходимы его(как мимнимум) паспорт и код. Без разрешения эти данные невозможно использовать. Как следствие, данные идут туда, куда ВЫ их подаете.
<u>PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadlnInteger;
var a:=ReadArrInteger(n);
var k:=n div 2;
a:=(a[:k].OrderBy(t->t)+a[k:].OrderByDescending(t->t)).ToArray;
a.Println
end.
<u>Пример</u>
6
3 2 1 4 5 6
1 2 3 6 5 4
Var b:array [1..255] of integer;
a, i, n:integer;
begin
readln(a);
i := 0;
while (a >= 1) do
begin
i := i + 1;
<span> b[i] := a mod 2;
</span><span> a := a div 2;
</span> end;
<span> n := i;
</span><span> for i := n downto 1 do </span><span>write(b[i]);
</span><span>end.
Проверено:)</span>
Прикладываю исходник и скрин в приложении к ответу.
<u><em>Несколько замечаний:
</em></u><em />1. <em />Большое количество комментариев внесено в код исключительно в учебных целях. В реальную программу переносить не рекомендуется - признак нехорошего тона.
2. У вас допущены синтаксические ошибки в двух последних циклах, а точнее - в операторах If, в которых стоит три условия (объединённых and), но нет ключевого слова "then" и последующих инструкций. Исправил.
3. Так же, автор вашей программы построил на мой взгляд нелогичную структуру алгоритма. Переменные min, min2 и min3, как я догадался, должны хранить три минимальных значения массива.
А вот что происходит в вашей конструкции: первый цикл безошибочно находит наименьший элемент и записывает его в min, а последующие два цикла записывают в min2 и min3 первые попавшиеся(начиная с первого) элементы, если они больше min. Таким образом, нет никакой закономерности в том, что попадёт в эти переменные и сложно представить, для какой задачи потребовались бы такие случайности.
Одним из вариантов решения предлагаю изначально записывать в эти три переменные не значение первого элемента массива, а какое-то большое число, которое в массиве нам не встретится (например 100). Тогда цикл будет искать значения меньше 100 и перезаписывать им соответствующую переменную, пока не найдёт самое маленькое значение. В таком случае не очень стабильная переменная j нам так же не нужна, я её вычеркнул.
Вам отсылаю уже с учётом поправок, однако если вам требовалась <u><em>именно первоначальная версия</em></u> несмотря на её минусы, просто поправьте синтаксис в последних циклах (41 и 34 строчка на скрине) и пользуйтесь ей.