fork(1) download
  1. #include<stdio.h>
  2. void binsrch(int x, int *a, int n) {
  3. int i=0, j=n-1, k=0;
  4. do{
  5. k=(i+j)/2;
  6. if(a[k] < x)
  7. i = k;
  8. else if (a[k] > x)
  9. j = k;
  10. }while(a[k]!=x && i<j);
  11.  
  12. if (a[k]==x)
  13. printf("x is in the array\nPosition of x=%d is at index=%d\n",x,k);
  14. else
  15. printf("x is not in the array\n");
  16. }
  17.  
  18. int main(){
  19. int a[] = {4,5,6,7,8,9,10};
  20. binsrch(7,a,sizeof(a)/sizeof(int));
  21. return 0;
  22. }
  23.  
Success #stdin #stdout 0s 4508KB
stdin
Standard input is empty
stdout
x is in the array
Position of x=7 is at index=3