#include <iostream>
#include <math.h>
using namespace std;
int main() {
int arrayLength = 10;
//cout << "How many items?";
//cin >> arrayLength;
int inputArray[arrayLength];
int needle;
int currentLeft = 0;
int currentRight = round(arrayLength/2);;
int current;
int iniPoint = round(arrayLength/2);
int i = 0;
//inputArray = new int[arrayLength];
for(int j = 0 ; j < arrayLength; j++) {
//cout << "Enter item" << j;
inputArray[j] = j+5;
}
//cout << "Eneter Needle";
needle = 7;
current = inputArray[iniPoint];
cout << "checking " << iniPoint << " val = " << current << endl;
while (current != needle && currentLeft >= currentRight) {
if(current < needle) {
iniPoint = currentLeft + ((currentRight - currentLeft)/2);
currentRight = iniPoint;
} else {
iniPoint = currentRight + ((currentRight - currentLeft)/2);
currentLeft = iniPoint;
}
current = inputArray[iniPoint];
cout << "checking " << iniPoint << " val = " << current << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJaW50IGFycmF5TGVuZ3RoID0gMTA7CgkvL2NvdXQgPDwgIkhvdyBtYW55IGl0ZW1zPyI7CgkvL2NpbiA+PiBhcnJheUxlbmd0aDsKCWludCBpbnB1dEFycmF5W2FycmF5TGVuZ3RoXTsKCWludCBuZWVkbGU7CglpbnQgY3VycmVudExlZnQgPSAwOwoJaW50IGN1cnJlbnRSaWdodCA9IHJvdW5kKGFycmF5TGVuZ3RoLzIpOzsKCWludCBjdXJyZW50OwoJaW50IGluaVBvaW50ID0gcm91bmQoYXJyYXlMZW5ndGgvMik7CglpbnQgaSA9IDA7CgkvL2lucHV0QXJyYXkgPSBuZXcgaW50W2FycmF5TGVuZ3RoXTsKCWZvcihpbnQgaiA9IDAgOyBqIDwgYXJyYXlMZW5ndGg7IGorKykgewoJCS8vY291dCA8PCAiRW50ZXIgaXRlbSIgPDwgajsKCQlpbnB1dEFycmF5W2pdID0gais1OwoJfQoJCgkvL2NvdXQgPDwgIkVuZXRlciBOZWVkbGUiOwoJbmVlZGxlID0gNzsKCQoJY3VycmVudCA9IGlucHV0QXJyYXlbaW5pUG9pbnRdOwoJY291dCA8PCAiY2hlY2tpbmcgIiA8PCBpbmlQb2ludCA8PCAiIHZhbCA9ICIgPDwgY3VycmVudCA8PCBlbmRsOyAKCXdoaWxlIChjdXJyZW50ICE9IG5lZWRsZSAmJiBjdXJyZW50TGVmdCA+PSBjdXJyZW50UmlnaHQpIHsKCQlpZihjdXJyZW50IDwgbmVlZGxlKSB7CgkJCWluaVBvaW50ID0gY3VycmVudExlZnQgKyAoKGN1cnJlbnRSaWdodCAtIGN1cnJlbnRMZWZ0KS8yKTsKCQkJY3VycmVudFJpZ2h0ID0gaW5pUG9pbnQ7CgkJfSBlbHNlIHsKCQkJaW5pUG9pbnQgPSBjdXJyZW50UmlnaHQgKyAoKGN1cnJlbnRSaWdodCAtIGN1cnJlbnRMZWZ0KS8yKTsKCQkJY3VycmVudExlZnQgPSBpbmlQb2ludDsKCQl9CgkJY3VycmVudCA9IGlucHV0QXJyYXlbaW5pUG9pbnRdOwoJCWNvdXQgPDwgImNoZWNraW5nICIgPDwgaW5pUG9pbnQgPDwgIiB2YWwgPSAiIDw8IGN1cnJlbnQgPDwgZW5kbDsgCgl9CgkKCQp9