Program 340 : Chakravyuha or Spiral Pattern Program(Question Taken from Codevitae(TCS) 2017)
//Coming Soon
Output:
#include<stdio.h> main() { int i,j,a[100][100],size,row=0,col=0,boundaryStart=0,boundaryEnd,num,evenRowCol=0,evenRow=0,evenCol=0,count=1; printf("Enter number of rows\n"); scanf("%d",&size); boundaryEnd=size-1; for(i=0;i<size;i++) { for(j=0;j<size;j++) a[i][j]=0; } while(count<=(size*size)) { if(evenRowCol%2==0) { if(evenRow%2==0) { for(i=col;(i<=boundaryEnd) && (count<=size*size);i++){ a[row][i]=count; count++; } evenRow++; col=i-1; row++; } else { for(i=col;(i>=boundaryStart) && (count<=size*size);i--) { a[row][i]=count; count++; } evenRow++; col=i+1; row--; boundaryStart++; } evenRowCol++; } else { if(evenCol%2==0) { for(i=row;(i<=boundaryEnd) && (count<=size*size);i++) { a[i][col]=count; count++; } row=i-1; col--; evenCol++; } else { for(i=row;(i>=boundaryStart) && (count<=size*size);i--) { a[i][col]=count; count++; } row=i+1; col++; evenCol++; boundaryEnd--; } evenRowCol++; } } for(i=0;i<size;i++) { for(j=0;j<size;j++) printf("%3d ",a[i][j]); printf("\n"); } }Explanation:
Output: