Консультация № 138554
29.05.2008, 19:36
0.00 руб.
0 1 1
написать программу которая методом обмена сортирует по возрастанию введённый с клавиатуры одномерный массив размерностью N

Обсуждение

давно
Старший Модератор
31795
6196
29.05.2008, 21:56
общий
это ответ
Здравствуйте, Степанов Александ Сергеевич!

Сортировку обменом введенных с клавиатуры вещественных чисел смотрите в приложении.
Во время работы программы подсвечиваются элементы массива которые обмениваются. Это позволяет понять, почему этот метод называют методом "пузырька".
Удачи!

Приложение:
uses crt;const n=9;type mass=array[1..n]of real;var a:mass; i:integer;{процедура будет вызыватся рекурсивно}procedure Sort(var aa:mass); var x:integer; j:real; begin {запускаем цикл проверки} for x:=1 to n-1 do if aa[x]>aa[x+1] then begin {обмениваем соседние элементы массива} j:=aa[x]; aa[x]:=aa[x+1]; aa[x+1]:=j; {вывод для контроля} for i:=1to n do begin {только для подсветки перестановок} if (i=x)or(i=(x+1)) then TextColor(15); write(aa[i]:8:4); TextColor(7); end; writeln; {вызываем саму себя с новым расположением элементов массива} Sort(aa); end; {сортировка закончилась} end;begin randomize; for i:=1 to n do begin {ввод массива} write(‘Enter a[‘,i,‘]:=‘); readln(a[i]); end; writeln; writeln; {сортируем массив} Sort(a); writeln; {выводим результат сортировки массива} for i:=1 to n do write(a[i]:8:4); writeln; readln;end.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа