Сортировка вставками - 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.

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

  1. Объявлены переменные:
    • Tmas - массив типа byte длиной 10 элементов;
    • Swap - процедура обмена значениями двух переменных типа byte;
    • insertSort - процедура сортировки массива методом вставки;
    • m - экземпляр массива Tmas;
    • i - переменная типа byte для перебора элементов массива.
  2. Задается начальное значение для элементов массива m с помощью функции random.
  3. Выводится исходный массив на экран.
  4. Вызывается процедура insertSort для сортировки массива m.
  5. Выводится отсортированный массив на экран.
  6. Программа ожидает нажатия клавиши для завершения работы.

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


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

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

6   голосов , оценка 4.833 из 5