Кольцевой сдвиг пример:
Исходный массив: 1 2 3 4 5 6 7 8 9
После работы функции сдвига: 2 3 4 5 6 7 8 9 1
#include <iostream>
#include <ctime>
using std::cout;
using std::endl;
const size_t n=10;
const int minv=-5, maxv=5;
void init(int* arr, size_t size)
{
//Инициализация целыми значениями из отрезка [minv;maxv]
for(size_t i=0; i<size; ++i)
arr[i]=rand()%(maxv-minv+1)+minv;
}
void print(int* arr, size_t size)
{
for(size_t i=0; i<size; ++i)
cout << arr[i] << " ";
cout << endl;
}
void shift(int* arr, size_t size)
{
int temp=arr[0];
for(size_t i=0; i<size-1; ++i)
arr[i]=arr[i+1];
arr[size-1]=temp;
}
int main()
{
srand(time(NULL));
int arr[n];
init(arr, n);
print(arr, n);
shift(arr, n);
print(arr, n);
system("pause");
return 0;
}