#include <stdio.h>
int main()
{
int val[10] = {10,20,30,40,50,55,68,77,89,90};//Fig 3
int beg = 0; //first index of array
int end = 9; //end(last index of array) = n-1 where n is the size of array and is 10 in this case.
int mid = (beg+end)/2; // finds middle index of array.
int i;
int element;
//printf("enter the element you want search for");
for(i=0;i<10;i++) //Fig 4
{
if(val[mid] == element) {
break;
}
else if(val[mid] < element) {
beg = mid +1;
mid = (beg +end)/2;
}
else{
end =mid -1;
mid = (beg +end)/2;
}
}
printf("Location of element is %d",mid
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpCnsKCWludCB2YWxbMTBdID0gezEwLDIwLDMwLDQwLDUwLDU1LDY4LDc3LDg5LDkwfTsvL0ZpZyAzCglpbnQgYmVnID0gMDsgICAvL2ZpcnN0IGluZGV4IG9mIGFycmF5CglpbnQgZW5kID0gOTsgIC8vZW5kKGxhc3QgaW5kZXggb2YgYXJyYXkpICA9IG4tMSB3aGVyZSBuIGlzIHRoZSBzaXplIG9mIGFycmF5IGFuZCBpcyAxMCBpbiB0aGlzIGNhc2UuCglpbnQgbWlkID0gKGJlZytlbmQpLzI7IC8vIGZpbmRzIG1pZGRsZSBpbmRleCBvZiBhcnJheS4KCWludCBpOwoJaW50IGVsZW1lbnQ7CgkvL3ByaW50ZigiZW50ZXIgdGhlIGVsZW1lbnQgeW91IHdhbnQgc2VhcmNoIGZvciIpOwoJc2NhbmYoIiVkIiwmZWxlbWVudCk7Cglmb3IoaT0wO2k8MTA7aSsrKSAvL0ZpZyA0Cgl7CglpZih2YWxbbWlkXSA9PSBlbGVtZW50KQl7CgkJYnJlYWs7Cgl9CgllbHNlIGlmKHZhbFttaWRdIDwgZWxlbWVudCkgewoJYmVnID0gbWlkICsxOwoJbWlkID0gKGJlZyArZW5kKS8yOwoJfQoJZWxzZXsKCWVuZCA9bWlkIC0xOwoJCW1pZCA9IChiZWcgK2VuZCkvMjsKCX0KCX0KCXByaW50ZigiTG9jYXRpb24gb2YgZWxlbWVudCBpcyAlZCIsbWlkKTsKCXJldHVybiAwOwp9