Дана последовательность чисел a1, a2, …, an. Требуется переставит числа в поряд-ке возрастания. Для этого сравниваются два соседних числа ai и ai+1. Если ai>ai+1 то делается пере-становка. Так продолжается до тех пор, пока все элементы не станут расположены в порядке воз-растания. Составить алгоритм сортировки, подсчитывая при этом количество перестановок.
ПОМОГИТЕ СДЕЛАТЬ В ПАСКАЛЬ, ПРОШУ =*(
Ответы на вопрос
Ответил ngunev98
0
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.
Не проверял, но должно вроде бы работать:)
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.
Не проверял, но должно вроде бы работать:)
Ответил oksixd
0
ну даа, я знаю.. просто так тороплюсь)
Ответил Аноним
0
Какую версию паскаля используешь?
ABC, free или turbo ?
ABC, free или turbo ?
Ответил oksixd
0
я в "Lazarus" делаю)
Ответил Аноним
0
Значит free...
Ответил oksixd
0
нууу.. да))
Новые вопросы