Упорядочить заданный массив А(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), это означает, что все возможные перестановки уже были выполнены, и цикл завершается.
- Наконец, выводится окончательное состояние массива в консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д