cycle array values to right in c code example

Example: rotate an array right in c

// C program to rotate an array cyclically

#include <stdio.h>

void rightRotateByOne(int arr[], int n) //function for cyclically rotating an array once
{
   int x = arr[n-1], i;
   for (i = n-1; i > 0; i--)
      arr[i] = arr[i-1];
   arr[0] = x;
}

int main()
{int t;
scanf("%d",&t);//number of test cases
int p;
for(p=0;p<t;p++){
    int n,i,k;
    scanf("%d %d",&n,&k); // n--> size of array ; k--> number of rotations
    int arr[n];
    k=k%n;
    for(i=0;i<n;i++){
        scanf("%d",&arr[i]);
    }
int j;
 for(j=0;j<k;j++) //cyclically rotating an array k times
{rightRotateByOne(arr, n);}


    for (i = 0; i < n; i++){
        printf("%d ", arr[i]);}
        printf("\n");}

    return 0;
}

Tags:

C Example