Упорядочить заданный массив А(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 и выполняет следующие действия:
- Создает массив А(n) из 20 элементов целого числа и заполняет его случайными числами от 0 до 99.
- Выводит содержимое массива в консоль.
- Затем начинается цикл, который повторяется до тех пор, пока n не станет равным Low(a), т.е. индексу первого элемента массива.
- Внутри цикла происходит перестановка двух соседних элементов массива, если второй элемент меньше первого. Это делается путем обмена их местами и сохранения текущего значения второго элемента в переменной t.
- После завершения внутреннего цикла, n снова становится равным Low(a), и процесс повторяется.
- Когда n становится равным Low(a), это означает, что все возможные перестановки уже были выполнены, и цикл завершается.
- Наконец, выводится окончательное состояние массива в консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д