/*
Given an array p[5], write a function to shift it circularly left by two
positions.Thus, if p[0] = 15, p[1]= 30, p[2] = 28, p[3]= 19 and p[4] = 61
then after the shift p[0] = 28, p[1] = 19,
p[2] = 61, p[3] = 15 and p[4] = 30. Call this function for a (4 x 5 ) matrix
and get its rows left shifted.
*/
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int m,n,i,p[4],*flag;
int array[4][5]= {
4,2,6,3,8,
1,2,8,3,9,
5,2,0,6,7,
1,0,2,5,6
};
int* twoshift(int *);
for(m=0;m<20;m=m+5)
{
flag=twoshift(&array[m][0]);
for(i=0;i<5;i++)
printf("%d ",*(flag+i));
printf("\n");
}
getch();
}
int* twoshift(int *q)
{
int j,temp,i;
for(j=0;j<2;j++)
{
temp=*(q+4);
printf("++%d ",*q);
*(q+i+1)=*(q+i);
*q=temp;
}
return q;
}
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.