Не работает сортировка методом выбора - Turbo Pascal
Формулировка задачи:
Укажите пожалуйста на ошибку. Пытался отсортировать массив методом выбора, но что-то идет не так
Листинг программы
- program mv;
- const N = 10;
- var C: array[1..N] of integer;
- var z,x,v,i,m: integer;
- begin
- writeln('Массив:');
- for i := 1 to N do
- begin
- C[i] := random(10);
- write(C[i]:3)
- end;
- z:=11;
- For x:=1 to N do begin
- For i:=x to N do begin
- if (C[i]<z) then
- z:=C[i];
- m:=i;
- end;
- if z<>C[X]then begin
- C[m]:=C[x];
- C[x]:=z;
- v:=v+1;
- z:=11;
- end;
- z:=11;
- end;
- writeln;
- writeln('Массив после сортировки:');
- for i := 1 to N do
- write(c[i]:3);
- end.
Решение задачи: «Не работает сортировка методом выбора»
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.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
- arr — массив целых чисел от 1 до N.
- N — константа, равная 10.
- i, j, x, ri — переменные для циклов и промежуточных вычислений.
- random(10) — функция генерации случайного числа от 0 до 9 (включительно).
- write(arr[i]:3) — записывает значение элемента массива arr[i] в текущую строку.
- arr[ri] := arr[i] — обмен значениями элементов массива.
- x — временная переменная для хранения промежуточного значения при обмене. Код выполняет следующие действия:
- Выводит исходный массив.
- Для каждого элемента массива (от 1 до N):
- Генерирует случайное число и записывает его в массив.
- Находит элемент с наименьшим значением (сравнивая элементы массива от i+1 до N).
- Если найденный элемент меньше текущего, меняет их местами.
- Записывает текущий элемент в его окончательное положение.
- Выводит отсортированный массив.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д