Как отсортировать массив методом прямого выбора? - Free Pascal
Формулировка задачи:
Мне нужно заполнить массив из 8 элементов случайными числами от -8 до 12 и отсортировать методом прямого выбора.
Пожалуйста помогите, как это методом прямого выбора? Можно код? Заранее спасибо.
Решение задачи: «Как отсортировать массив методом прямого выбора?»
textual
Листинг программы
program qqq; const n=8; var a:array[1..n] of integer; i,x,j,buf:integer; begin randomize; writeln('Исходный массив'); for i:=1 to n do begin a[i]:=-8+random(21); write(a[i]:4); end; writeln; for i:=1 to n-1 do begin x:=i; for j:=i+1 to n do if a[j]>a[x] then x:=j;//это по убыванию, по возрастанию сменить > на < buf:=a[i]; a[i]:=a[x]; a[x]:=buf; end; writeln('Отсортированный массив'); for i:=1 to n do write(a[i]:4); readln; end.
Объяснение кода листинга программы
- Объявлены константа
n
равная 8 и переменныеa
,i
,x
,j
,buf
типаinteger
. - В цикле выводятся элементы исходного массива
a
с помощью функцииwrite
. - В цикле происходит сортировка массива
a
методом прямого выбора. - Для этого, в каждой итерации, находится минимальный элемент и меняется его местоположение с текущим элементом.
- В итоге, после завершения цикла, массив
a
будет отсортирован по убыванию. - Выводятся отсортированные элементы массива
a
с помощью функцииwrite
. - Программа ожидает ввода с помощью функции
readln
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д