Отсортировать одномерный массив по возрастанию, используя процедуру перестановки местами значений двух величин - Pascal ABC
Формулировка задачи:
Отсортировать одномерный массив по возрастанию, используя процедуру перестановки местами значений двух величин.
Решение задачи: «Отсортировать одномерный массив по возрастанию, используя процедуру перестановки местами значений двух величин»
textual
Листинг программы
uses crt; const nmax=100; procedure swap(var a,b:real); var c:real; begin c:=a; a:=b; b:=c end; var a:array[1..nmax] of real; n,i,j:integer; begin randomize; repeat write('Размер массива до ',nmax,' n='); read(n); until n in [1..nmax]; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=9*random; write(a[i]:5:2); end; writeln; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then swap(a[i],a[j]); writeln('Отсортированный массив:'); for i:=1 to n do write(a[i]:5:2); end.
Объяснение кода листинга программы
В данном коде используется процедура swap, которая меняет местами значения двух переменных типа real. Далее, создается массив a типа array[1..nmax] of real, где nmax - максимальное количество элементов в массиве. Затем, с помощью цикла repeat-until, задается размер массива n. Внутри цикла, для каждого элемента массива a[i] присваивается случайное значение от 0 до 9. После этого, выполняется внешний цикл for, который проверяет пары соседних элементов массива и, если текущий элемент больше следующего, то вызывается процедура swap. В конце выводится отсортированный массив.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д