Квадратичная сортировка: вставка числа в массив - PascalABC.NET
Формулировка задачи:
Требуется вставить в данный массив на данное место данный элемент, сдвинув остальные элементы вправо.
Входные данные
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000). В третьей строке вводится число, которое необходимо вставить, и номер места, на которое его нужно вставить.
Выходные данные
Вывести получившийся массив.
Примеры
входные данные
5
1 2 3 4 5
2 3
выходные данные
1 2 2 3 4 5
Вставка вроде получилась, а вот вывести целый массив с вставленным числом не получается.
Помогите найти ошибку.
Решение задачи: «Квадратичная сортировка: вставка числа в массив»
textual
Листинг программы
begin var n:=ReadInteger; var a:=ReadArrInteger(n).ToList; var (x,k):=ReadInteger2; a.Insert(k-1,x); a.Println end.
Объяснение кода листинга программы
- В начале программы нам необходимо прочитать количество элементов массива из входных данных. Для этого используется функция ReadInteger, которая считывает целочисленное значение из стандартного ввода. Это значение сохраняется в переменной n.
- Затем мы считываем массив целых чисел из стандартного ввода. Для этого используется функция ReadArrInteger, которая считывает массив заданного размера из стандартного ввода. В результате мы получаем список List
. Для удобства дальнейшей работы мы присваиваем этот список переменной a. - Далее мы считываем два целых числа и сохраняем их в переменных x и k. Значение x будет использоваться для вставки в массив, а k - для определения позиции, на которую нужно вставить элемент.
- Используя метод Insert, мы вставляем элемент x на позицию k-1 в массиве a. При этом необходимо учесть, что индексы в списке начинаются с 0, поэтому для вставки на позицию k необходимо использовать значение k-1.
- Наконец, мы выводим отсортированный массив на экран с помощью метода Println.