Библиотечный метод - Pascal

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

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

Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует не выводить ничего. Входные данные На первой строке дано число (1 ≤ N ≤ 100) – количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109. Выходные данные В выходной файл выведите строки (по количеству вставок) по N чисел каждая. Примеры входные данные 2 2 1 выходные данные 1 2 входные данные 4 2 1 5 3 выходные данные 1 2 5 3 1 2 3 5

Решение задачи: «Библиотечный метод»

textual
Листинг программы
const max=100;
type mas=array[1..max] of longint;
procedure print(a:mas;n:byte);
var i:byte;
begin
for i:=1 to n do
write(a[i],' ');
writeln;
end;
var a:mas;
    n,i,j,k:byte;
    c:longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
print(a,n);
for i:=2 to n do
for j:=1 to i-1 do
if a[j]>a[i] then
 begin
  c:=a[i];
  for k:=i downto j+1 do
  a[k]:=a[k-1];
  a[j]:=c;
  print(a,n);
 end;
end.

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

  1. Создается константа max со значением 100.
  2. Определяется тип mas как массив из 1 до max элементов типа longint.
  3. Объявляется процедура print с параметрами a типа mas и n типа byte.
  4. Внутри процедуры print создается переменная i типа byte.
  5. Вводится переменная a типа mas для хранения массива.
  6. Объявляются переменные n, i, j, k типа byte и c типа longint.
  7. Считывается значение переменной n с клавиатуры.
  8. Считываются элементы массива a до n.
  9. Вызывается процедура print для отображения массива a и его размера.
  10. Выполняется внешний цикл от 2 до n.
  11. Внутри внешнего цикла выполняется внутренний цикл от 1 до i-1.
  12. Если элемент массива a с индексом j больше чем элемент массива a с индексом i, то:
    • Присваивается переменной c значение элемента a[i].
    • Запускается цикл от i до j+1 и каждому элементу присваивается значение предыдущего элемента.
    • Элементу массива a с индексом j присваивается значение c.
    • Вызывается процедура print для отображения отсортированного массива a.
  13. Завершается выполнение программы.

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


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

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

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