Сортировка методом вставки - PascalABC.NET

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

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

Программа когда работает , а когда нет .Пишет ошибку в строке 19 , что индекс за границами массива , помогите исправить.

Решение задачи: «Сортировка методом вставки»

textual
Листинг программы
var
  mas: array[1..7, 1..7] of integer;
  a, b, c, d: integer;
 
begin
  randomize;
  for a := 1 to 7 do
    for b := 1 to 7 do
    begin
      mas[a, b] := random(20);
    end;
  for a := 1 to 7 do
    mas[a, 1] := integer.MinValue;
  for a := 1 to 7 do
  begin
    for b := 1 to 7 do
    begin
      Write(mas[a, b]:2, '  ');
    end;
    Writeln();
  end;
  for a := 2   to 7 do
  begin
    b := a;
    while mas[4, b] < mas[4, b - 1] do
    begin
      c := Mas[4, b];
      Mas[4, b] := mas[4, b - 1];
      mas[4, b - 1] := c;
      b := b - 1;
    end;
  end;
  writeln('Result:');
  for a := 1 to 7 do
  begin
    for b := 1 to 7 do
    begin
      Write(mas[a, b]:2, '  ');
    end;
    Writeln();
  end;
  Writeln();
end.

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

  1. Объявлены переменные:
    • mas - массив размером 7x7 для хранения чисел
    • a, b, c, d - переменные для выполнения сортировки
  2. Инициализирован генератор случайных чисел
  3. Заполняется массив mas случайными числами от 0 до 19
  4. Первая строка массива mas заполняется минимальным значением типа integer
  5. Выводится на экран содержимое массива mas в виде строк по 2 символа с пробелами между ними
  6. Начинается сортировка:
    • Цикл перебирает строки массива mas
    • Внутри цикла перебираются столбцы массива mas
    • Если текущий элемент больше следующего, то они меняются местами
    • Рекурсивный вызов для сортировки столбца от 4 до 1
  7. Выводится отсортированный массив mas на экран
  8. Выводится итоговая строка

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


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

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

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