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

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

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

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

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

textual
Листинг программы
var
  a: array [1..20] of Integer;
  i, j, n, t: Integer;
begin
  Randomize;
  for i:=Low(a) to High(a) do a[i]:=Random(100);
  for i:=Low(a) to High(a) do Write(' ',a[i]); WriteLn;
  n:=High(a);
  repeat
    i:=n; n:=Low(a);
    for j:=Low(a) to i-1 do
      if a[j+1]<a[j] then begin
        n:=j; t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t;
      end;
  until n=Low(a);
  for i:=Low(a) to High(a) do Write(' ',a[i]); WriteLn;
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
Похожие ответы