Предмет: Информатика, автор: oksixd

Дана последовательность чисел 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.
Не проверял, но должно вроде бы работать:)
Автор ответа: oksixd
0
ну даа, я знаю.. просто так тороплюсь)
Автор ответа: Аноним
0
Какую версию паскаля используешь?
ABC, free или turbo ?
Автор ответа: oksixd
0
я в "Lazarus" делаю)
Автор ответа: Аноним
0
Значит free...
Автор ответа: oksixd
0
нууу.. да))
Похожие вопросы