Требуется вставить в данный массив на данное место данный элемент, сдвинув остальные элементы вправо.
Входные данные
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000). В третьей строке вводится число, которое необходимо вставить, и номер места, на которое его нужно вставить.
Выходные данные
Вывести получившийся массив.
Примеры
Входные данные
5
1 2 3 4 5
2 3
Выходные данные
1 2 2 3 4 5
C# 8.0:
using System;
...
public static void InsertToArr<T>(ref T[] Arr, in T Value, in int Index){
T[] NewArr = new T[Arr.Length + 1];
for (int i = 0; i < Index; i++) NewArr[i] = Arr[i];
NewArr[Index] = Value;
for (int i = Index + 1; i < NewArr.Length; i++) NewArr[i] = Arr[i-1];
Arr = NewArr;
}
...
Console.ReadLine(); //skips N
var Arr =Array.ConvertAll(Console.ReadLine().Split(' '),int.Parse);
var temp = Console.ReadLine().Split(' ');
InsertToArr(ref Arr, int.Parse(temp[0]), int.Parse(temp[1])-1);
foreach (int i in Arr) Console.Write(i + " ");
===== PascalABC.NET =====
begin
var n := ReadlnInteger;
var a := ReadArrInteger(n);
var (m, i) := ReadInteger2;
a := a?[:i - 1] + Arr(m) + a?[i - 1:];
a.Print
end.