11dop
#include <iostream> #include <cctype> #include <cstring> #include <iomanip> #include <cmath> using namespace std; void transform(int* arr, int n) { int d = *arr; if (abs(d)>=n) { for (int i = 0; i < n; i++) { arr[i] = 0; } } else{ if (d>0) { //pozitiven, pomestuvanje desno for (int i = n-1; i >= d; i--) { arr[i] = arr[i-d]; } for (int i = 0; i < d; i++) { arr[i] = 0; } } else if (d<0) { for (int i = 0; i < n + d; i++) { arr[i] = arr[i-d]; } for (int i = n+d; i < n ; i++) { arr[i] = 0; } } } } int main() { int m; cin >> m; int counter = 0; for (int k = 0; k < m; k++) { int n; cin >> n; int arr[n]; for (int i = 0; i < n; i++) { cin >> arr[i]; } if (abs(*arr)>=n) counter++; transform(arr, n); for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; } cout << counter << endl; }
Leave a Comment