М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Ромчик0412
Ромчик0412
02.03.2022 00:32 •  Информатика

Напишите программу, которая сортирует массив по возрастанию "методом камня": аналогично "методу пузырька", но в обратном порядке: самый "тяжелый" элемент из оставшихся спускается к концу массива.

входные данные

первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. гарантируется, что 0 < n ≤ 1 .

выходные данные

программа должна выводить весь массив после каждой перестановки элементов. все элементы массива выводятся в одну строку и разделяются пробелами, после окончания вывода массива выполняется переход на новую строку. если перестановок не было, программа выводит только число 0.

язык программирования: python
метод камня вроде как тоже самое, что и метод пузырька

👇
Ответ:
nike1110
nike1110
02.03.2022
Хорошо, давайте решим задачу шаг за шагом.

1. Сначала мы должны прочитать входные данные: размер массива n и элементы массива. Это можно сделать с помощью функции input(), разделитель пробел " " позволит нам разделить элементы массива.
Пример кода:
```python
n = int(input())
arr = list(map(int, input().split()))
```

2. Затем мы можем начать сортировку методом "камня". Для этого мы используем цикл от 0 до (n-1), который будет представлять каждую итерацию сортировки.
Пример кода:
```python
for i in range(n-1):
```

3. Внутри цикла у нас должен быть еще один цикл, который выполнится от i+1 до n. Он представляет проход по неотсортированной части массива.
Пример кода:
```python
for j in range(i+1, n):
```

4. Внутри второго цикла мы сравниваем элементы arr[j] и arr[i], и если arr[j] больше arr[i], то мы меняем их местами, используя временную переменную temp.
Пример кода:
```python
if arr[j] > arr[i]:
temp = arr[j]
arr[j] = arr[i]
arr[i] = temp
```

5. После каждой перестановки элементов мы выводим отсортированный массив при помощи функции print(), добавляя пробелы между элементами при помощи параметра sep=" ".
Пример кода:
```python
print(*arr, sep=" ")
```

6. В конце программы мы должны проверить, были ли перестановки элементов. Если не было ни одной перестановки, мы выводим только число 0.
Пример кода:
```python
if i == 0:
print(0)
```

7. Полный код программы для сортировки методом "камня" выглядит следующим образом:
```python
n = int(input())
arr = list(map(int, input().split()))

for i in range(n-1):
for j in range(i+1, n):
if arr[j] > arr[i]:
temp = arr[j]
arr[j] = arr[i]
arr[i] = temp
print(*arr, sep=" ")

if i == 0:
print(0)
```

Это решение позволяет отсортировать массив по возрастанию методом "камня" и выводить промежуточные результаты сортировки.
4,5(61 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ