Требуется вставить в данный массив на данное место данный элемент, сдвинув остальные элементы вправо.
Входные данные
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000). В третьей строке вводится число, которое необходимо вставить, и номер места, на которое его нужно вставить.
Выходные данные
Вывести получившийся массив.
Примеры
Входные данные
5
1 2 3 4 5
2 3
Выходные данные
1 2 2 3 4 5

roofman93p08nel roofman93p08nel    2   24.02.2020 01:06    28

Ответы
кфг кфг  11.09.2020 18:56

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 + " ");

ПОКАЗАТЬ ОТВЕТЫ
fatimaptacek fatimaptacek  11.09.2020 18:56

===== 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.


Требуется вставить в данный массив на данное место данный элемент, сдвинув остальные элементы вправо
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика