Массив содержит четное количество элементов. Напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. Каждый элемент должен остаться в «своей» половине. Пример: Массив: 5 3 4 2 1 6 3 2 После сортировки: 2 3 4 5 6 3 2 1В Паскале АВС
var arr: array[1..n] of integer; i, j, temp: integer;
begin // Ввод элементов массива writeln('Введите элементы массива:'); for i := 1 to n do readln(arr[i]);
// Сортировка первой половины массива по возрастанию for i := 1 to n div 2 do begin for j := i + 1 to n div 2 do begin if arr[i] > arr[j] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end;
// Сортировка второй половины массива по убыванию for i := n div 2 + 1 to n do begin for j := i + 1 to n do begin if arr[i] < arr[j] then begin temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; end; end; end;
// Вывод отсортированного массива writeln('Отсортированный массив:'); for i := 1 to n do write(arr[i], ' ');
program SortHalfArray;
const
n = 8;
var
arr: array[1..n] of integer;
i, j, temp: integer;
begin
// Ввод элементов массива
writeln('Введите элементы массива:');
for i := 1 to n do
readln(arr[i]);
// Сортировка первой половины массива по возрастанию
for i := 1 to n div 2 do
begin
for j := i + 1 to n div 2 do
begin
if arr[i] > arr[j] then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
end;
// Сортировка второй половины массива по убыванию
for i := n div 2 + 1 to n do
begin
for j := i + 1 to n do
begin
if arr[i] < arr[j] then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
end;
// Вывод отсортированного массива
writeln('Отсортированный массив:');
for i := 1 to n do
write(arr[i], ' ');
end.