Дан массив из 10 элеменов. Первые 4 упорядочить по возрастанию, последние 4 по убыванию.
В данном случае используется сортировка методом пузырька.
Возникают сложности при сортировки последних четырех элементов массива. Количество проходов (i) и количество сравнений (j) такие же как в первом случае. Однако номера элементов стоят дальше от начала на 6 значений. Поэтому проще при обмене прибавлять к j 6.
const n = 10; var arr: array[1..n] of byte; i,j,k: byte; begin randomize; write('Original array: ':18); for i:=1 to n do begin arr[i] := random(256); write(arr[i]:4); end; writeln; for i:=1 to 4 do for j:=1 to 4-i do if arr[j] > arr[j+1] then begin k := arr[j]; arr[j] := arr[j+1]; arr[j+1] := k end; for i:=1 to 4 do for j:=1 to 4-i do if arr[j+6] [j+7] then begin k := arr[j+6]; arr[j+6] := arr[j+7]; arr[j+7] := k end; write('Sorted array: ':18); for i:=1 to n do write(arr[i]:4); readln; end.
Комментарии
Дан целочисленный вектор
Дан целочисленный вектор А(n). Поменять местами максимальный и последний элементы вектора.