Реверс массива – это перестановка элементов в обратном порядке: меняются местами первый и...

0 голосов
286 просмотров

Реверс массива – это перестановка элементов в обратном порядке: меняются местами первый и последний элементы, второй и предпоследний и т.д. Напишите программу, которая выполняет реверс части массива, начиная с элемента с номером K и заканчивая элементом с номером M (включительно). Нумерация элементов массива начинается с единицы.

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . В третьей строке через пробел записаны два числа – K ( 0 < K ≤ N ) и M ( K ≤ M ≤ N ).

Выходные данные
Программа должна вывести в одну строчку все элементы получившегося массива, разделив их пробелами.

Примеры
входные данные
6
1 2 3 4 5 6
2 5
выходные данные
1 5 4 3 2 6


Информатика (48 баллов) | 286 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadlnInteger;
  var a:=ReadArrInteger(n);
  var (k,m):=ReadlnInteger2;
  a:=(a?[:k-1]+a[k-1:m].Reverse+a[m:]).ToArray;
  a.Println
end.

Пример
6
1 2 3 4 5 6
2 5
1 5 4 3 2 6
(150k баллов)