Николай Агафонов
Ученик
(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 тебе в помощь
Входные данные
Вводится целое число 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