How to shift array elements to right by N positions in C

1 Answer

0 votes
#include <stdio.h>

void ShiftArrayToRight(int arr[], int size) {
    int temp = arr[size - 1];

    for (int i = size - 1; i > 0; i--) {
        arr[i] = arr[i - 1];
    }

    arr[0] = temp;
}

int main()
{
    int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

    int size = sizeof(arr) / sizeof(arr[0]);

    int N = 3;
    for (int i = 0; i < N; i++)
        ShiftArrayToRight(arr, size);

    for (int i = 0; i < size; i++)
        printf("%d ", arr[i]);

    return 0;
}




/*
run:

7 8 9 1 2 3 4 5 6

*/

 



answered Sep 10, 2022 by avibootz

Related questions

1 answer 141 views
1 answer 143 views
1 answer 133 views
1 answer 167 views
1 answer 153 views
1 answer 153 views
...