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