Программа с использованием сортировки вставкой - Pascal

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

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

Создать масив, в котором n элементов. Упорядочить вторую чверть по спаданию, последнюю - по возрастанию, элементы, которые больше заданого числа n удвоить.

Решение задачи: «Программа с использованием сортировки вставкой»

textual
Листинг программы
var a:array[1..100] of integer;
    n,i,j,k,x,min:integer;
begin
repeat
write('Введите размер массива число кратное 4 от 8 до 100 n=');
readln(n);
until (n in [8..100])and(n mod 4=0);
randomize;
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=random(100);
  write(a[i]:4);
 end;
writeln;
k:=n div 4;
for i:=k+2 to 2*k do
 begin
  x:=a[i];
  j:=i-1;
  while (j>=1) and (a[j]<x) do
   begin
    a[j+1]:=a[j];
    j:=j-1;
   end;
  a[j+1]:=x;
 end;
for i:=3*k+2 to n do
 begin
  x:=a[i];
  j:=i-1;
  while (j>=1) and (a[j]>x) do
   begin
    a[j+1]:=a[j];
    j:=j-1;
   end;
  a[j+1]:=x;
 end;
writeln('Сортировка 2 четверти по убыванию и 4 четверти по возрастанию');
for i:=1 to n do
write(a[i]:4);
writeln;
write('Введите число для сравнения k=');
readln(k);
for i:=1 to n do
if a[i]>k then a[i]:=2*a[i];
writeln('Элементы большие ',k,' удвоены');
for i:=1 to n do
write(a[i]:4);
end.

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

  1. Объявлены переменные: a: массив из 100 целых чисел; n, i, j, k, x, min: целые числа.
  2. В цикле repeat-until пользователю предлагается ввести размер массива n, который должен быть кратным 4 от 8 до 100.
  3. Массив a заполняется случайными числами от 1 до 100.
  4. Размер массива a делится на 4, и в цикле for i:=k+2 to 2*k происходит сортировка первой половины массива по возрастанию, а затем второй половины массива по убыванию.
  5. В цикле for i:=3*k+2 to n происходит сортировка третьей и четвёртой четвертей массива по возрастанию и убыванию соответственно.
  6. Выводится отсортированный массив a.
  7. Пользователю предлагается ввести число k для сравнения.
  8. В цикле for i:=1 to n происходит проверка: если элемент массива a[i] больше k, то он удваивается.
  9. Выводится отсортированный массив a с удвоенными элементами.

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

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