Hi can anyone help about this i am getting a logical error in the program #include<stdio.h> #include<conio.h> void quicksort(int a[],int lb,int ub); void partitionarray(int a[],int lb,int ub,int loc); void main() { int a[100],n,i,lb,ub; printf("how many elements"); scanf("%d",&n); for(i=0;i<n;i++) { printf("enter %dth",i+1); scanf("%d",&a); } quicksort(a,lb,ub); for(i=lb;i<ub+1;i++) printf("sorted array is"); for(i=0;i<n;i++) { printf("%d\t",a); } getch(); clrscr(); } void quicksort(int a[],int lb,int ub) { int loc,n; //for(n=lb;n<ub;n++) if(lb<ub) { partitionarray(a,lb,ub,loc); quicksort(a,lb,loc-1); quicksort(a,loc+1,ub); } } void partitionarray(int a[],int lb,int ub,int loc) { int left,right,temp; int done; left=lb; right=ub; loc=lb; done=0; while(!done) { while((a[loc]<=a)&&(loc!=right)) { right=right-1; } if(loc=right) { done=1; } else if (a[loc]>a) { temp=a; a=a[loc]; a[loc]=temp; loc=right; } if(!done) { while((a[loc]>=a)&&(loc!=left)) left=left+1; } if(loc=left) { done=1; } else if(a[loc]<a) { temp=a; a=a[loc]; a[loc]=temp; loc=left; } } }