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 algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.