Сортировка массива обменами по возрастанию - Pascal
Формулировка задачи:
Здравствуйте помогите! Решите, пожалуйста программу, но сделайте все по простому, якобы это сделал школьник-студент 1-2 курса.
Сортировка массива обменами по возрастанию.
Решение задачи: «Сортировка массива обменами по возрастанию»
textual
Листинг программы
const n = 15;
var a: array[1..n] of integer;
i, t: integer;
b: boolean;
begin
randomize;
writeln('Массив:');
for i := 1 to n do
begin
a[i] := -99 + random(199);
write(a[i]:4)
end;
writeln;
repeat
b := true;
for i := 1 to n - 1 do
if a[i] > a[i + 1]
then begin
t := a[i];
a[i] := a[i + 1];
a[i + 1] := t;
b := false
end;
until b;
writeln('Отсортированный массив:');
for i := 1 to n do write(a[i]:4);
readln
end.
Объяснение кода листинга программы
- Создается константа
nсо значением 15. - Создается массив
aцелых чисел от 1 доn. - Создаются переменные
i,tиbс типом integer и boolean соответственно. - Генерируется случайный порядок элементов массива
a. - Выводится на экран массив
a. - Запускается цикл
repeat, в котором флагbустанавливается в true. - Запускается цикл
for, в котором происходит сравнение пар элементов массиваa. - Если элемент с индексом
iбольше элемента с индексомi + 1, то значения этих элементов меняются местами. - Флаг
bустанавливается в false. - Повторять цикл
repeatдо тех пор, пока флагbне станет true, что указывает на то, что элементы массива отсортированы. - Выводится на экран отсортированный массив
a. - Конец программы.