<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
Издеваться изволите? Сварите вашего учителя заживо (это не призыв к насилию, а едкое замечание!), если он предлагает такие задачи.
Pascal:
var i, n: integer;
begin
n:=0;
for i:=10 to 99 do
if ((i mod 10)+(i div 10)=7) then inc(n);
writeln('Otvet: ',n, 'number(s)');
readln
end.
Содержимое массива будет таким (по шагам):
0) 6 4 5 -1 2 0 4 -4 -2 1
1) 6 3 5 -1 2 0 4 -4 -2 1
2) 6 3 1 -1 2 0 4 -4 -2 1
3) 6 3 1 0 2 0 4 -4 -2 1
4) 6 3 1 0 2 0 4 -4 -2 1
5) 6 3 1 0 2 2 4 -4 -2 1
6) 6 3 1 0 2 2 -2 -4 -2 1
7) 6 3 1 0 2 2 -2 -4 -2 1
8) 6 3 1 0 2 2 -2 -4 3 1
Как можно видеть, после всех преобразований массива (на последнем шаге) он содержит шесть чётных чисел (6, 0, 2, 2, -2, -4).
Ответ: 6
Во вложении файл формата Excel 2003. Макрос находится в проекте для листа 1
Вот.
О плюсах и минусах суди сам(а).