Ha ragione, mi sono confuso, ragionandoci su il while corretto è il seguente:
while (sx < dx && !trovato ) , avevo sbagliato a scrivere, al posto di "dx" avevo messo "md" che era il valore centrale.
Grazie mille
Prego non c'è di che..

P.s. Piccolo appunto..potresti risparmiarti l'utilizzo della variabile trovato...all'interno del while quando setti trovato a 1 ti basta fare un "return 1"...fuori dal while ti basta fare un "return 0".