cyclic array rotation in cpp

#include <iostream>

void rotateArray(int arr[], int n, int k) {
    k = k % n;
    int temp[k];

    for (int i = 0; i < k; i++)
        temp[i] = arr[i];

    for (int i = k; i < n; i++)
        arr[i - k] = arr[i];

    for (int i = 0; i < k; i++)
        arr[n - k + i] = temp[i];
}

int main() {
    int n, k;

    std::cout << "Enter the size of the array: ";
    std::cin >> n;

    int arr[n];

    std::cout << "Enter the elements of the array:\n";
    for (int i = 0; i < n; i++)
        std::cin >> arr[i];

    std::cout << "Enter the number of rotations: ";
    std::cin >> k;

    rotateArray(arr, n, k);

    std::cout << "Rotated array: ";
    for (int i = 0; i < n; i++)
        std::cout << arr[i] << " ";

    return 0;
}