Дан массив допустим: 1 2 3 4 5 6 7 8, для работы с этим массивом написать функцию его на экран так же написать функцию которая может заполнять массив случайными числами, а главное написать функцию кольцевого сдвига, при таком сдвиге в массиве все значения сохраняются — C++(Си)

Кольцевой сдвиг пример:
Исходный массив: 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;
}

Leave a Comment