Разработка алгоритмов и программ с использованием методов внутренней сортировки - Pascal ABC
Формулировка задачи:
Составьте программу с использованием указанного метода сортировки.
Необходимо сформировать одномерный массив, элементы которого определяются выражением an=2n. Элементы полученного массива отсортировать по убыванию методом вставки.
Решение задачи: «Разработка алгоритмов и программ с использованием методов внутренней сортировки»
textual
Листинг программы
- var a:array[0..100] of integer;
- n,i,j,b:integer;
- begin
- write('Введите размер массива т 2 до 100 n=');
- readln(n);
- writeln('Исходный массив');
- for i:=1 to n do
- begin
- a[i]:=2*i;
- write(a[i]:4);
- end;
- writeln;
- a[0]:=2*n+1;
- for j:=2 to n do
- begin
- i:=j;
- while a[i]>a[i-1] do
- begin
- b:=a[i];
- a[i]:=a[i-1];
- a[i-1]:=b;
- i:=i-1;
- end;
- end;
- writeln('Сортировка по убыванию методом вставки');
- for i:=1 to n do
- write(a[i]:4)
- end.
Объяснение кода листинга программы
- Создаётся переменная
a
типаarray[0..100] of integer;
, которая будет использоваться для хранения отсортированного массива. - Задаётся переменная
n
типаinteger
, которая будет использоваться для хранения размера массива. - Задаются переменные
i
,j
иb
типаinteger
, которые будут использоваться для выполнения различных операций. - Выводится сообщение с просьбой ввести размер массива от 2 до 100.
- В цикле
for i:=1 to n do
заполняется исходный массив значениями, удваивающими размер индекса массива. - Задаётся значение
a[0]
как удвоенный размерn+1
. - В цикле
for j:=2 to n do
выполняется сортировка массива методом вставки. - В цикле
while a[i]>a[i-1] do
происходит сравнение текущей и предыдущей ячеек массива и, если текущая больше предыдущей, они меняются местами. - После завершения цикла
while
выполняется шагi:=i-1
, который уменьшает значение индекса на единицу. - Выводится отсортированный массив.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д