Как отсортировать массив методом прямого выбора? - 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.

Объяснение кода листинга программы

  1. Объявлены константа n равная 8 и переменные a, i, x, j, buf типа integer.
  2. В цикле выводятся элементы исходного массива a с помощью функции write.
  3. В цикле происходит сортировка массива a методом прямого выбора.
  4. Для этого, в каждой итерации, находится минимальный элемент и меняется его местоположение с текущим элементом.
  5. В итоге, после завершения цикла, массив a будет отсортирован по убыванию.
  6. Выводятся отсортированные элементы массива a с помощью функции write.
  7. Программа ожидает ввода с помощью функции readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5
Похожие ответы