C Program to perform circular Array Rotation

Description

Get array size n and n elements of array, rotate the elements of array in left side for m times.
Input:
5
5 7 9 3 1
2
Output:
9 3 1 5 7

Solution

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int *a,n,i,j,m,temp;
	printf("Enter size of array:");
	scanf("%d",&n);

	a=malloc(sizeof(int)*n);

	printf("Enter %d Elements:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}	
	printf("Enter number of rotations:");
	scanf("%d",&m);
	for(i=1;i<=m;i++)
	{
		temp=a[0];
		for(j=1;j<n;j++)
		{
			a[j-1]=a[j];
		}
		a[n-1]=temp;
	}
	printf("After %d rotations:\n",m);
	for(i=0;i<n;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}

Explanation

repeat the below steps for m times:
store the a[0] in temp
temp=a[0]

move all elements located in 1 to n-1 to its previous location
a[j-1]=a[j]

store the temp in a[n-1]
a[n-1]=temp



Interesting Pattern Programs: for more Patterns

Input:
5
Output:
*
**
***
****
*****
****
***
**
*Solution
Input:
5
Output:
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *Solution
Input:
5
Output:
*        *
**      **
***    ***
****  ****
**********Solution
Input:
5
Output:
*       *
**     **
***   ***
**** ****
*********Solution
Input:
5
Output:
*       *
**     **
***   ***
**** ****
*********
**** ****
***   ***
**     **
*       *Solution
Input:
5
Output:
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********Solution