#include <iostream>
void shift_arr_elem(int * arr, int arrSize, int shift)
{
int realShift = 0;
if (shift > arrSize)
realShift = shift - arrSize * (shift/arrSize);
else
realShift = shift;
for (int i = 0, temp = 0; i < realShift; ++i)
{
temp = arr[0];
for (int j = 0; j < arrSize-1; ++j)
arr[j] = arr[j+1];
arr[arrSize-1] = temp;
}
}
void show_array(int * arr, int arrSize)
{
for (int i = 0; i < arrSize; ++i)
std::cout << arr[i] << " ";
}
int main()
{
const int ARR_SIZE = 4;
int arr[ARR_SIZE] = {11, 22, 33, 44};
shift_arr_elem(arr, ARR_SIZE, 2);
show_array(arr, ARR_SIZE);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBzaGlmdF9hcnJfZWxlbShpbnQgKiBhcnIsIGludCBhcnJTaXplLCBpbnQgc2hpZnQpCnsKICAgIGludCByZWFsU2hpZnQgPSAwOwogICAgaWYgKHNoaWZ0ID4gYXJyU2l6ZSkKICAgICAgICByZWFsU2hpZnQgPSBzaGlmdCAtIGFyclNpemUgKiAoc2hpZnQvYXJyU2l6ZSk7CiAgICBlbHNlCiAgICAgICAgcmVhbFNoaWZ0ID0gc2hpZnQ7CgoKICAgIGZvciAoaW50IGkgPSAwLCB0ZW1wID0gMDsgaSA8IHJlYWxTaGlmdDsgKytpKQogICAgewogICAgICAgIHRlbXAgPSBhcnJbMF07CgogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgYXJyU2l6ZS0xOyArK2opCiAgICAgICAgICAgIGFycltqXSA9IGFycltqKzFdOwoKICAgICAgICBhcnJbYXJyU2l6ZS0xXSA9IHRlbXA7CiAgICB9Cn0KCnZvaWQgc2hvd19hcnJheShpbnQgKiBhcnIsIGludCBhcnJTaXplKQp7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGFyclNpemU7ICsraSkKICAgICAgICBzdGQ6OmNvdXQgPDwgYXJyW2ldIDw8ICIgIjsKfQoKaW50IG1haW4oKQp7CiAgICBjb25zdCBpbnQgQVJSX1NJWkUgPSA0OwogICAgaW50IGFycltBUlJfU0laRV0gPSB7MTEsIDIyLCAzMywgNDR9OwogICAgc2hpZnRfYXJyX2VsZW0oYXJyLCBBUlJfU0laRSwgMik7CiAgICBzaG93X2FycmF5KGFyciwgQVJSX1NJWkUpOwoKICAgIHJldHVybiAwOwp9Cg==