Упорядочить заданный массив А(n) по неубыванию, многократно переставляя каждые два соседних элемента - Turbo Pascal

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

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

Упорядочить заданный массив А(n) по неубыванию, многократно переставляя каждые два соседних элемента, нарушающие порядок. Процесс завершается по достижении упорядоченности массива

Решение задачи: «Упорядочить заданный массив А(n) по неубыванию, многократно переставляя каждые два соседних элемента»

textual
Листинг программы
  1. var
  2.   a: array [1..20] of Integer;
  3.   i, j, n, t: Integer;
  4. begin
  5.   Randomize;
  6.   for i:=Low(a) to High(a) do a[i]:=Random(100);
  7.   for i:=Low(a) to High(a) do Write(' ',a[i]); WriteLn;
  8.   n:=High(a);
  9.   repeat
  10.     i:=n; n:=Low(a);
  11.     for j:=Low(a) to i-1 do
  12.       if a[j+1]<a[j] then begin
  13.         n:=j; t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t;
  14.       end;
  15.   until n=Low(a);
  16.   for i:=Low(a) to High(a) do Write(' ',a[i]); WriteLn;
  17. end.

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

Этот код написан на языке Turbo Pascal и выполняет следующие действия:

  1. Создает массив А(n) из 20 элементов целого числа и заполняет его случайными числами от 0 до 99.
  2. Выводит содержимое массива в консоль.
  3. Затем начинается цикл, который повторяется до тех пор, пока n не станет равным Low(a), т.е. индексу первого элемента массива.
  4. Внутри цикла происходит перестановка двух соседних элементов массива, если второй элемент меньше первого. Это делается путем обмена их местами и сохранения текущего значения второго элемента в переменной t.
  5. После завершения внутреннего цикла, n снова становится равным Low(a), и процесс повторяется.
  6. Когда n становится равным Low(a), это означает, что все возможные перестановки уже были выполнены, и цикл завершается.
  7. Наконец, выводится окончательное состояние массива в консоль.

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы