Дан массив целых чисел (n=22), заполненный случайным образом числами из промежутка [-12,48] Вставить * после наименьшего элемента (если таких элементов несколько, вставить * после каждого). Удалить все элементы, имеющие наибольшее значение.
Шаг 1: Создание и заполнение массива
Для начала создадим массив целых чисел, состоящий из 22 элементов, и заполним его случайными числами из промежутка [-12, 48].
Шаг 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, "*")
Шаг 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)
Это решение удовлетворяет условиям задачи: были вставлены * после каждого наименьшего элемента, а также были удалены все элементы с наибольшим значением.
Шаг 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]
Это решение удовлетворяет условиям задачи: были вставлены * после каждого наименьшего элемента, а также были удалены все элементы с наибольшим значением.