Напишите программу, которая сортирует массив по возрастанию "методом камня": аналогично "методу пузырька", но - Pascal
Формулировка задачи:
Помогите пожалуйста написать код.Напишите программу, которая сортирует массив по возрастанию "методом камня": аналогично "методу пузырька", но в обратном порядке: самый "тяжелый" элемент из оставшихся спускается к концу массива.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна выводить весь массив после каждой перестановки элементов. Все элементы массива выводятся в одну строку и разделяются пробелами, после окончания вывода массива выполняется переход на новую строку. Если перестановок не было, программа выводит только число 0.
Примеры
входные данные
4
4 3 2 1
выходные данные
3 4 2 1
3 2 4 1
3 2 1 4
2 3 1 4
2 1 3 4
1 2 3 4
Решение задачи: «Напишите программу, которая сортирует массив по возрастанию "методом камня": аналогично "методу пузырька", но»
textual
Листинг программы
var a: array [1..10000] of Integer; n, i, j, k, t: Integer; begin ReadLn(n); for i:=1 to n do Read(a[i]); j:=n; repeat k:=j; j:=0; for i:=1 to k-1 do if a[i+1]<a[i] then begin j:=i; t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t; for t:=1 to n do Write(' ',a[t]); WriteLn; end; until j=0; if k=n then WriteLn(0); end.
Объяснение кода листинга программы
- Объявляется массив a с размерностью 10000 и типом данных Integer.
- Объявляются переменные n, i, j, k, t, все типа Integer.
- Происходит ввод значения переменной n с клавиатуры.
- Заполняется массив a значениями, вводимыми с клавиатуры, от 1 до n.
- Устанавливается начальное значение j равным n.
- Начинается цикл, повторяющийся, пока j не станет равным 0.
- Внутри цикла переменной k присваивается значение j, а j присваивается 0.
- Запускается вложенный цикл для сравнения соседних элементов массива.
- Если a[i+1] меньше a[i], то выполняется перестановка значений a[i] и a[i+1], и изменения записываются в переменную t.
- Выводится на экран содержимое массива.
- Осуществляется проверка условия выхода из внешнего цикла.
- Если k равно n, выводится сообщение
0
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д