Поделитесь своими знаниями, ответьте на вопрос:
с программой, даже условие не могу понять хотя-бы натолкнуть на мысль Условие Напишите функцию, которая как результат будет возвращать подпоследовательность элементов массива, начиная с позиции X до позиции Y включительно в обратном порядке с шагом Z как новый массив. По умолчанию шаг должен быть равен 1. Ваша задача для заданного массива вывести срез с шагом 1 и с шагом, заданным с клавиатуры. Формат входных данных В первой строке задается натурально число N, (N ≤ 10000)- размер массива. В следующей строке вводятся N целых чисел, по модулю не превосходящих 109 - элементы массива. В последней строке вводятся три целых числа X, Y и Z (0 ≤ X ≤ Y < N, 0 < Z < N)- границы и шаг среза соответственно. Формат выходных данных В первой строке выведите перевернутый фрагмент массива с шагом 1. Во второй строке выведите перевернутый фрагмент массива с шагом Z.
#include <iostream>
#include <vector>
using namespace std;
void srez(vector<int> arr, int x, int y, int z = 1) {
for (int i = y; i >= x; i -= z) {
cout << arr[i] << ' ';
}
cout << '\n';
}
int main() {
int n;
cin >> n;
vector<int> arr(n);
for (int i = 0; i < n; ++i) cin >> arr[i];
int x, y, z;
cin >> x >> y >> z;
srez(arr, x, y);
srez(arr, x, y, z);
return 0;
}
Писал код сам, тоже по этой задаче С++