#include int bsearch( int, int, int[] ); main() { int f[] = {0, 1, 3, 4, 6, 7, 8, 8, 9}; int n = 9, k = 2, res; res = bsearch( k, n, f ); printf("%d\n", res ); } int bsearch( int k, int n, int r[] ) { int gornja, i, donja; /* varijanta sa while i inicijalizacijom izvan petlje */ donja=-1; gornja=n; while ( gornja-donja > 1 ) { i = (gornja+donja) / 2; if ( k <= r[i] ) gornja = i; else donja = i; } if ( k==r[gornja] ) return( gornja ); else return( -1 ); }