Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int main()
- {
- int n,flag=0;
- int ar[100],i,hi,lo,mid,target;
- scanf("%d",&n);
- for(i=0; i<n; i++)
- {
- scanf("%d",&ar[i]);
- }
- printf("\n");
- scanf("%d",&target);
- hi=n-1;
- lo=0;
- for(i=0;; i++)
- {
- mid=(hi+lo)/2;
- if(ar[mid]==target)
- {
- printf("position is %d\n",mid+1);
- break;
- }
- else if(ar[mid]<target)
- {
- lo=mid+1;
- if(hi<lo)
- {
- printf("NOT FOUND\n");
- flag=1;
- break;
- }
- }
- else if(ar[mid]>target)
- {
- hi=mid-1;
- if(hi<lo)
- {
- printf("NOT FOUND\n");
- flag=1;
- break;
- }
- }
- }
- if(flag==1)
- {
- printf("upper bound %d\n",ar[lo]);
- printf("lower bound %d\n",ar[hi]);
- }
- else
- {
- printf("upper bound %d\n",ar[mid]);
- printf("lower bound %d\n",ar[mid]);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment