Adrita

sem 2 lab 1

Jun 19th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int n,flag=0;
  5. int ar[100],i,hi,lo,mid,target;
  6. scanf("%d",&n);
  7. for(i=0; i<n; i++)
  8. {
  9. scanf("%d",&ar[i]);
  10. }
  11. printf("\n");
  12. scanf("%d",&target);
  13. hi=n-1;
  14. lo=0;
  15. for(i=0;; i++)
  16. {
  17. mid=(hi+lo)/2;
  18. if(ar[mid]==target)
  19. {
  20. printf("position is %d\n",mid+1);
  21. break;
  22. }
  23. else if(ar[mid]<target)
  24. {
  25. lo=mid+1;
  26. if(hi<lo)
  27. {
  28. printf("NOT FOUND\n");
  29. flag=1;
  30. break;
  31. }
  32.  
  33. }
  34. else if(ar[mid]>target)
  35. {
  36. hi=mid-1;
  37. if(hi<lo)
  38. {
  39. printf("NOT FOUND\n");
  40. flag=1;
  41. break;
  42. }
  43. }
  44. }
  45. if(flag==1)
  46. {
  47. printf("upper bound %d\n",ar[lo]);
  48. printf("lower bound %d\n",ar[hi]);
  49. }
  50. else
  51. {
  52. printf("upper bound %d\n",ar[mid]);
  53. printf("lower bound %d\n",ar[mid]);
  54. }
  55. return 0;
  56. }
Add Comment
Please, Sign In to add comment