Originariamente inviato da oregon
Sì King, avevo letto male la prima affermazione di devil89, ovvero la

"a e b sono di segno discordi (perchè il loro prodotto è < 0)"

che e' evidentemente sbagliata. Quella corretta e'

"f(a) e f(b) sono di segno discordi (perchè il loro prodotto è < 0)"
Si, ho sbagliato a scrivere. Comunque ho risolto il problema.
Vi posto il codice così potete guardarlo:

codice:
double funz (double a, double b) {
         double m=(a+b)/2, fm = f(m), fa;
         if (isZero(fm))
             return m;
         else {
                  fa=f(a);
                   if ((fa<0 && fm<0) || (fa>0 && fm>0))
                       return ........
                   else
                       return .................
        } /* if - else */
} /* funz */