ДАЮ ПОСЛЕДНИЕ 50 БАЛЛОВ ПОЖАЛУЙСТА ПОМОГИТЕ!!! Нужно написать код на языке Python, если не сможете приму и на с++!!! очень ВАЖНО, ПОЖАЛУЙСТА!!! Вставка числа
Требуется вставить в данный массив на данное место данный элемент, сдвинув остальные элементы вправо.
Входные данные
В первой строке вводится одно натуральное число, не превосходящее 1000 — размер массива. Во второй строке задаются N чисел — элементы массива (целые числа, не превосходящие по модулю 1000). В третьей строке вводится число, которое необходимо вставить, и номер места, на которое его нужно вставить.
Выходные данные
Вывести получившийся массив.
Примеры
Ввод 1
5
1 2 3 4 5
2 3
Вывод
1 2 2 3 4 5
ОЧЕНЬ ВАЖНО, ПОЖАЛУЙСТА
Answers & Comments
Ответ:
n = int(input())
array = []
for i in input().split():
array.append(int(i))
k, j = input().split()
k, j = int(k), int(j)
array = array[:j - 1] + [k] + array[j - 1:]
ret = str(array[0])
for i in range(1, len(array)):
ret = ret + ' ' + str(array[i])
print(ret)
Объяснение:
слайсами суммируем массив
8 1 7 4 3 9 2 5 6 10
Как будет выглядеть список после 3-х шагов вставки в алгоритме сортировки вставками?
Введите список чисел, разделённых пробелами.
1 попытка
Ответ:
Используя метод list.insert
N = int(input())
arr = [int(i) for i in input().split()]
assert len(arr) == N #Пользователь обязан ввести ровно N чисел. Иначе вылет с исключением AssertionError
insItem, insPos = [int(i) for i in input().split()]
arr.insert(insPos, insItem)
print(arr)
Программа очень требовательна к формату ввода.
Объяснение:
5
1 2 3 4 5
2 3
Вывод по этой программе (от квадратных скобок избавилась)
1 2 3 2 4 5