binary search algorithm problem...

ok for school im literally copy and pasting the binary search algorithm he gave us and apparently went i showed him my flowchart before i coded this program we musta missed something because it always returns a -1 and its due tommorrow and since i copy and pasted the algorithm well just used the already made one i have NO CLUE why its not working since it matches the flowchart just beautiful at least im not noticing an error

anyway why does it always return -1

Code:

`int bin_search(int id[],int elementsize,int user_id)`

{

cout <<"BEGIINUIG";

int first = 0;

int last = elementsize -1;

int found = 0;

int mid;

while(first <= last && found == 0)

{

mid = (first + last) / 2;

if(id[mid] == user_id)

found = 1;

else

{

if(id[mid] < user_id)

last = mid - 1;

else

first = mid + 1;

}

}

if(found == 0)

{

cout << "ALMOST THERE";

mid = -1;

}

cout << "ENDING";

return mid;

}