Учитывая несортированный массив arr [] размера N, поверните его на D элементов (по часовой стрелке).
Входные данные В первой строке входного файла содержится T, обозначающее количество тестовых случаев. Первая строка каждого теста содержит два элемента, разделенных пробелами, N обозначает размер массива и целое число D обозначает числовой размер поворота. Следующая строка будет состоять из N разделенных пробелами элементов массива
Выходные данные Для каждого тестового примера в новой строке выведите повернутый массив
Пример Входные данные 1 2 3 4 5
Выходные данные 3 4 5 1 2
#include <iostream>
#include <stack>
using namespace std;
void rotate(int *a,int s,int r) {
stack<int> st;
for(int i=0;i<r;i++) {
st.push(a[i]);
}
for(int j=r;j<s;j++) {
a[j-r] = a[j];
}
for(int k=s-1;k>r+1;k--) {
a[k] = st.top();
st.pop();
}
for(int l=0;l<s;l++) {
cout<<a[l]<<" ";
}
}
int main() {
//code
int T;
cin>>T;
while(T--) {
int N,r;
cin>>N>>r;
int A[N];
for(int i=0;i<N;i++) {
cin>>A[i];
}
rotate(A,N,r);
cout<<endl;
}
return 0;
}