rotate array cpp

#include <iostream>

void rotateArray(int arr[], int n, int k) {
    k = k % n;
    if (k < 0)
        k += n;

    int* temp = new int[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];

    delete[] temp;
}

int main() {
    const int size = 7;
    int arr[size] = {1, 2, 3, 4, 5, 6, 7};
    int rotateBy = 3;

    rotateArray(arr, size, rotateBy);

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

    return 0;
}