How to cyclically rotate the elements of int array right N times in C

1 Answer

0 votes
#include <stdio.h>

void rotate_array_right_one_time(int arr[], int arr_size) {
    int last = arr[arr_size - 1];
 
    for (int i = arr_size - 1; i > 0; i--) {
        arr[i] = arr[i - 1];
    }

    arr[0] = last;
}

int main() {
    int arr[] = {4, 7, 2, 9, 3};
    int arr_size = sizeof(arr)/sizeof(arr[0]);
    int n = 3;

    for (int i = 0; i < n; i++)
        rotate_array_right_one_time(arr, arr_size);

    for (int i = 0; i < arr_size; i++) {
        printf("%i ", arr[i]);
    }
}



/*
run:

2 9 3 4 7  

*/

 



answered Mar 29, 2019 by avibootz
edited Jul 29, 2021 by avibootz
...