Kros228volk225
18.03.2020 18:50

Дан массив целых чисел (n=22), заполненный случайным образом числами из промежутка [-12,48]
Вставить * после наименьшего элемента (если таких элементов несколько,
вставить * после каждого).
Удалить все элементы, имеющие наибольшее значение.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Mogolan
23.01.2024 09:01
Хорошо, давайте решим эту задачу шаг за шагом.

Шаг 1: Создание и заполнение массива
Для начала создадим массив целых чисел, состоящий из 22 элементов, и заполним его случайными числами из промежутка [-12, 48].

Пример заполнения массива:
array = [42, 18, -9, 10, 27, 7, 30, -3, 35, 14, 5, 20, 39, -2, 12, -6, 24, 33, 17, 48, -7, 0]

Шаг 2: Нахождение наименьшего элемента и вставка *
Теперь нам нужно найти наименьший элемент в массиве и вставить * после него. Если таких элементов несколько, необходимо вставить * после каждого из них.

Для выполнения этого шага, мы создадим переменную min_value и установим ее равной первому элементу массива. Затем пройдем по всем остальным элементам и проверим, если текущий элемент меньше min_value, то заменим значение min_value на значение текущего элемента и продолжим итерацию.

После нахождения минимального значения, пройдем по всем элементам массива и, если элемент равен min_value, вставим * после него.

Пример выполнения этого шага:
array = [42, 18, -9, 10, 27, 7, 30, -3, 35, 14, 5, 20, 39, -2, 12, -6, 24, 33, 17, 48, -7, 0]
min_value = array[0] = 42
for i in range(1, len(array)):
if array[i] < min_value:
min_value = array[i]

for i in range(len(array)):
if array[i] == min_value:
array.insert(i+1, "*")

Обновленный массив:
array = [42, *, 18, -9, 10, 27, 7, 30, -3, 35, 14, 5, 20, 39, -2, 12, -6, 24, 33, 17, 48, -7, 0]

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

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

Пример выполнения этого шага:
array = [42, *, 18, -9, 10, 27, 7, 30, -3, 35, 14, 5, 20, 39, -2, 12, -6, 24, 33, 17, 48, -7, 0]
max_value = array[0] = 42
for i in range(1, len(array)):
if array[i] > max_value:
max_value = array[i]

for i in range(len(array)-1, -1, -1):
if array[i] == max_value:
array.pop(i)

Обновленный массив:
array = [*, 18, -9, 10, 27, 7, 30, -3, 35, 14, 5, 20, 39, -2, 12, -6, 24, 33, 17, -7, 0]

Итоговый массив:
array = [*, 18, -9, 10, 27, 7, 30, -3, 35, 14, 5, 20, 39, -2, 12, -6, 24, 33, 17, -7, 0]

Это решение удовлетворяет условиям задачи: были вставлены * после каждого наименьшего элемента, а также были удалены все элементы с наибольшим значением.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота