1.
int top,bottom,left,right,size;
void printTop(int arr[][size])
{
int i=top,j;
for(j=left;j<=right;j++)
printf("%d ",arr[i][j]);
}
void printBottom(int arr[][size])
{
int i=bottom,j;
for(j=right;j>=left;j--)
printf("%d ",arr[i][j]);
}
void printLeft(int arr[][size])
{
int i=left,j;
for(j=bottom;j>=top;j--)
printf("%d ",arr[j][i]);
}
void printRight(int arr[][size])
{
int i=right,j;
for(j=top;j<=bottom;j++)
printf("%d ",arr[j][i]);
}
void printSpiral(int arr[][],int size)
{
top=0; bottom=size-1; left=0; right=size-1;
int count=0,flag=0;
while(count<(size*size))
{
if(flag==0)
{
printTop(arr);
count+=right-left+1;
top++;
flag=1;
}
else if(flag==1)
{
printRight(arr);
count+=bottom-top+1;
right--;
flag=2;
}
else if(flag==2)
{
printBottom(arr);
count+=right-left+1;
bottom--;
flag=3;
}
else
{
printLeft(arr);
count+=bottom-top+1;
left++;
flag=0;
}
}
}
int main()
{
int arr[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
printf("\n");
size=4;
printSpiral(arr,4);
return 0;
}
--
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.