Не работает сортировка методом выбора - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Укажите пожалуйста на ошибку. Пытался отсортировать массив методом выбора, но что-то идет не так

Решение задачи: «Не работает сортировка методом выбора»

textual
Листинг программы
program mv;
 
const
  N = 10;
 
var
  arr: array[1..N] of integer;
  {var} {z,x,v,i,m: integer; //Что за Z X V M ?? Зачем 2 раза писать Var?}
  i, j, x, ri: integer;//i,j - для циклов x - промежуточное значение для обмена
 
begin
  writeln('Массив:'); 
  for i := 1 to N do 
  begin
    arr[i] := random(10); 
    write(arr[i]:3)
  end; 
  
  for i := 1 to N do
  begin
    ri := i;
    x := arr[i];
    for j := i + 1 to N do { найти элемент с наименьшим значением }
      if arr[j] < x then
      begin
        ri := j;
        x := arr[j];
      end;
    arr[ri] := arr[i]; { обмен }
    arr[i] := x;
  end;
  writeln;
  writeln('Массив после сортировки:'); 
  for i := 1 to N do 
    write(arr[i]:3);
end.

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

В данном коде объявлены следующие переменные:

  1. arr — массив целых чисел от 1 до N.
  2. N — константа, равная 10.
  3. i, j, x, ri — переменные для циклов и промежуточных вычислений.
  4. random(10) — функция генерации случайного числа от 0 до 9 (включительно).
  5. write(arr[i]:3) — записывает значение элемента массива arr[i] в текущую строку.
  6. arr[ri] := arr[i] — обмен значениями элементов массива.
  7. x — временная переменная для хранения промежуточного значения при обмене. Код выполняет следующие действия:
  8. Выводит исходный массив.
  9. Для каждого элемента массива (от 1 до N):
    • Генерирует случайное число и записывает его в массив.
    • Находит элемент с наименьшим значением (сравнивая элементы массива от i+1 до N).
    • Если найденный элемент меньше текущего, меняет их местами.
    • Записывает текущий элемент в его окончательное положение.
  10. Выводит отсортированный массив.

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


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

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

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