Дана последовательность чисел a1, a2, …, an. Требуется переставит числа в поряд-ке возрастания. Для этого сравниваются два соседних числа ai и ai+1. Если ai больше ai+1 то делается пере-становка. Так продолжается до тех пор, по...

Дана последовательность чисел a1, a2, …, an. Требуется переставит числа в поряд-ке возрастания. Для этого сравниваются два соседних числа ai и ai+1. Если ai>ai+1 то делается пере-становка. Так продолжается до тех пор, пока все элементы не станут расположены в порядке воз-растания. Составить алгоритм сортировки, подсчитывая при этом количество перестановок. ПОМОГИТЕ СДЕЛАТЬ В ПАСКАЛЬ, ПРОШУ =*(
Гость
Ответ(ы) на вопрос:
Гость
const max = 10000; var i, j : Integer; x,raz : LongInt; A : array[0..max] of LongInt;    BEGIN //  //Допустим уже массив заполнен //        for i := max downto 2 do         for j := 2 to i do           if A[j] < A[j - 1] then             begin                x := A[j];                A[j] := A[j - 1];                A[j - 1] := x; inc(raz);             end;   writeln('Количество перестановок = ', raz);  END. Не проверял, но должно вроде бы работать:)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы