C program to cyclically permute (rotate) the elements of an array in right.
Program
#include<stdio.h>#include<conio.h>#define MAX 50voidread_array(int a[MAX],int n){int i;for(i=0;i<n;i++){printf("Element %d\t:",i+1);scanf("%d",&a[i]);}}voidprint_array(int a[MAX],int n){int i;for(i=0;i<n;i++){printf("Element %d\t:%d\n",i+1,a[i]);}}voidrotate_right(int a[MAX],int n,int count){int i, j, last;for(i=0;i<count;i++){
last = a[n-1];for(j=n-1;j>0;j--){
a[j]= a[j-1];}
a[0]= last;}}voidmain(){int arr[MAX];int n, count;printf("Enter the number of elements in the array\t:");scanf("%d",&n);printf("Enter the elements of the array\n");read_array(arr, n);printf("Enter the number of times to rotate right\t:");scanf("%d",&count);rotate_right(arr, n, count);printf("\nRotated array\n");print_array(arr, n);getch();}
C++
Output
Enter the number of elements in the array :8
Enter the elements of the array
Element 1 :12
Element 2 :25
Element 3 :56
Element 4 :69
Element 5 :98
Element 6 :87
Element 7 :74
Element 8 :41
Enter the number of times to rotate right :4
Rotated array
Element 1 :98
Element 2 :87
Element 3 :74
Element 4 :41
Element 5 :12
Element 6 :25
Element 7 :56
Element 8 :69