Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста!! поа

пвро лор Ученик (84), на голосовании 2 месяца назад
Сортировка камнем – это вариация сортировки пузырьком, в отличии от сортировки пузырьком, в сортировке камнем, самый «тяжелый» элемент будет опускаться в начало массива. Напиши программу, которая сортирует список по невозрастанию элементов (от большего значения к меньшему). Программа должна выводить элементы списка после каждого прохода.

Входные данные
Вводится целое число n - размер списка, затем на следующей строке вводится список из целых чисел через пробел.

Выходные данные
Выводится (n - 1) строка - элементы списка через пробел после каждого прохода. В конце строки пробел не выводится.

Пример ввода:
5
1 4 0 3 2

Пример вывода:
4 1 3 0 2
4 3 1 2 0
4 3 2 1 0
4 3 2 1 0
Голосование за лучший ответ
Николай Агафонов Ученик (171) 3 месяца назад
n = int(input())
numbers = list(map(int, input().split()))

for i in range(n - 1):
for j in range(n - i - 1):
if numbers[j] < numbers[j + 1]:
numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j]
print(*numbers, end=" ")






Пояснение кода:

1. Ввод данных:
- n = int(input()): Вводится размер списка.
- numbers = list(map(int, input().split())): Вводится список чисел, разделенных пробелами, и преобразуется в список целых чисел.

2. Сортировка:
- for i in range(n - 1):: Цикл проходит по списку (n - 1) раз, так как на каждом проходе "самый тяжелый" элемент перемещается на свою позицию.
- for j in range(n - i - 1):: Внутренний цикл проходит по оставшейся части списка, сравнивая соседние элементы.
- if numbers[j] < numbers[j + 1]:: Если текущий элемент меньше следующего, элементы меняются местами.
- numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j]: Обмен элементов.

3. Вывод:
- print(*numbers, end=" "): Вывод элементов списка после каждого прохода через пробел, с помощью * для разворачивания списка. end=" " - для того, чтобы не выводить пробел в конце строки.

Пример работы:

Вход:
5
1 4 0 3 2


Вывод:
4 1 3 0 2
4 3 1 2 ,0
4 3 2 1 0
4 3 2 1 0



Chat gpt тебе в помощь
Похожие вопросы