Array Rotate in c++

#include <iostream>
using namespace std;

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 arr[] = {1, 2, 3, 4, 5, 6, 7};
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 3;

    rotateArray(arr, n, k);

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

    return 0;
}