Сортировка вставками - Pascal ABC (18474)
Формулировка задачи:
Помогите пожалуйста составить несколько задач с массивами (программа + блок схема если это возможно)))
Наполнение массива случайными числами + число элементов массива N=10
№4 Сортировка вставками
Спасибо!!!
Решение задачи: «Сортировка вставками»
textual
Листинг программы
uses crt; Type Tmas = array [1 .. 10] of byte; procedure Swap(var a, b: byte); var t: longint; begin t := a; a := b; b := t; end; procedure insertSort(var m: Tmas; n: word); var i, k: word; begin for k := 2 to n do begin i := k; while (m[i] < m[i - 1]) and (i > 1) do begin Swap(m[i], m[i - 1]); dec(i); end; end; end; var m: Tmas; i: byte; begin randomize; writeln('Исходный массив:'); for i := 1 to 10 do begin m[i] := random(8) + 1; write(m[i], ' '); end; insertSort(m, 10); writeln; writeln('Отсортированный массив:'); for i := 1 to 10 do write(m[i], ' '); readln; end.
Объяснение кода листинга программы
- Объявлены переменные:
- Tmas - массив типа byte длиной 10 элементов;
- Swap - процедура обмена значениями двух переменных типа byte;
- insertSort - процедура сортировки массива методом вставки;
- m - экземпляр массива Tmas;
- i - переменная типа byte для перебора элементов массива.
- Задается начальное значение для элементов массива m с помощью функции random.
- Выводится исходный массив на экран.
- Вызывается процедура insertSort для сортировки массива m.
- Выводится отсортированный массив на экран.
- Программа ожидает нажатия клавиши для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д