2. Ввести в массив n произвольных чисел (n<=30) Отсортировать отрицательные по убыванию, положительные – по возрастанию, оставив отрицательные на местах, принадлежащих отрицательным, а положительные – на местах, принадлежащих положительным. Вывести на экран исходный и полученный массивы. Дополнительных массивов не использовать.

1 Дек 2019 в 19:44
166 +1
0
Ответы
1

Пример кода на Python:

n = int(input("Введите количество элементов в массиве: "))
arr = []
neg_index = 0
pos_index = n - 1
for i in range(n):
arr.append(int(input(f"Введите {i+1}-й элемент массива: ")))
arr.sort(reverse=True)
for i in range(n):
if arr[i] < 0:
arr[neg_index] , arr[i] = arr[i], arr[neg_index]
neg_index += 1
for i in range(n-1, -1, -1):
if arr[i] > 0:
arr[pos_index], arr[i] = arr[i], arr[pos_index]
pos_index -= 1
print("Исходный массив:", arr)

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

Введите количество элементов в массиве: 8
Введите 1-й элемент массива: -5
Введите 2-й элемент массива: 7
Введите 3-й элемент массива: -2
Введите 4-й элемент массива: 3
Введите 5-й элемент массива: -1
Введите 6-й элемент массива: 0
Введите 7-й элемент массива: -4
Введите 8-й элемент массива: 6
Исходный массив: [-5, 7, -2, 3, -1, 0, -4, 6]
19 Апр 2024 в 00:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир