#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
 
float  calculafx( float  x2,  float  * f3,  float  * f4,  int  m)  { 
	float  fx1 =  0 ; 
	for  ( int  j 
=  1 ;  j 
<=  m
;  j
++ )  fx1 
+=  f3
[ j
]  *  pow ( x2
,  f4
[ j
] ) ;  	return  fx1; 
} 
 
int  main( )  { 
	int  n; 
	float  epsilon,  fa,  fb,  x1,  fxx1,  a,  b; 
	printf ( "Digite o número de termos da função: \n " ) ;  	float  f1[ n] ,  f2[ n] ; 
	printf ( "Digite o epsilon: \n " ) ;  	printf ( "Digite o primeiro valor do intervalo: \n " ) ;  	printf ( "Digite o segundo valor do intervalo: \n " ) ;  	for ( int  i =  1 ;  i <=  n;  i++ )  { 
		printf ( "Digite o termo %d da função:\n " ,  i
) ;  		printf ( "Digite o grau do termo: \n " ) ;  		printf ( "Digite 0 se o termo for uma constante:\n " ) ;  	} 
 
	do  { 
		x1 =  ( a +  b)  /  2 ; 
		fxx1 =  calculafx( x1,  f1,  f2,  n) ; 
		if  ( fxx1 *  calculafx( a,  f1,  f2,  n)  <  0 )  b =  x1; 
		else  a =  x1; 
	}  while  ( abs ( a 
-  b
)  >  epsilon
) ;  	fa =  calculafx( a,  f1,  f2,  n) ; 
	fb =  calculafx( b,  f1,  f2,  n) ; 
	printf ( "f(a) é igual a %f e f(b) é igual a %f \n " ,  fa
, fb
) ;  } 
 
//https://pt.stackoverflow.com/q/185068/101 
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KCmZsb2F0IGNhbGN1bGFmeChmbG9hdCB4MiwgZmxvYXQgKmYzLCBmbG9hdCAqZjQsIGludCBtKSB7CglmbG9hdCBmeDEgPSAwOwoJZm9yIChpbnQgaiA9IDE7IGogPD0gbTsgaisrKSBmeDEgKz0gZjNbal0gKiBwb3coeDIsIGY0W2pdKTsKCXJldHVybiBmeDE7Cn0KCmludCBtYWluKCkgewoJaW50IG47CglmbG9hdCBlcHNpbG9uLCBmYSwgZmIsIHgxLCBmeHgxLCBhLCBiOwoJcHJpbnRmKCJEaWdpdGUgbyBuw7ptZXJvIGRlIHRlcm1vcyBkYSBmdW7Dp8OjbzogXG4iKTsKCXNjYW5mKCIlZCIsICZuKTsKCXN5c3RlbSgiY2xlYXIiKTsKCWZsb2F0IGYxW25dLCBmMltuXTsKCXByaW50ZigiRGlnaXRlIG8gZXBzaWxvbjogXG4iKTsKCXNjYW5mKCIlZiIsICZlcHNpbG9uKTsKCXByaW50ZigiRGlnaXRlIG8gcHJpbWVpcm8gdmFsb3IgZG8gaW50ZXJ2YWxvOiBcbiIpOwoJc2NhbmYoIiVmIiwgJmEpOwoJcHJpbnRmKCJEaWdpdGUgbyBzZWd1bmRvIHZhbG9yIGRvIGludGVydmFsbzogXG4iKTsKCXNjYW5mKCIlZiIsICZiKTsKCXN5c3RlbSgiY2xlYXIiKTsKCWZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJcHJpbnRmKCJEaWdpdGUgbyB0ZXJtbyAlZCBkYSBmdW7Dp8OjbzpcbiIsIGkpOwoJCXNjYW5mKCIlZiIsICZmMVtpXSk7CgkJcHJpbnRmKCJEaWdpdGUgbyBncmF1IGRvIHRlcm1vOiBcbiIpOwoJCXByaW50ZigiRGlnaXRlIDAgc2UgbyB0ZXJtbyBmb3IgdW1hIGNvbnN0YW50ZTpcbiIpOwoJCXNjYW5mKCIlZiIsICZmMltpXSk7CgkJc3lzdGVtKCJjbGVhciIpOwoJfQoJCglkbyB7CgkJeDEgPSAoYSArIGIpIC8gMjsKCQlmeHgxID0gY2FsY3VsYWZ4KHgxLCBmMSwgZjIsIG4pOwoJCWlmIChmeHgxICogY2FsY3VsYWZ4KGEsIGYxLCBmMiwgbikgPCAwKSBiID0geDE7CgkJZWxzZSBhID0geDE7Cgl9IHdoaWxlIChhYnMoYSAtIGIpID4gZXBzaWxvbik7CglmYSA9IGNhbGN1bGFmeChhLCBmMSwgZjIsIG4pOwoJZmIgPSBjYWxjdWxhZngoYiwgZjEsIGYyLCBuKTsKCXByaW50ZigiZihhKSDDqSBpZ3VhbCBhICVmIGUgZihiKSDDqSBpZ3VhbCBhICVmIFxuIiwgZmEsZmIpOwp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS8xODUwNjgvMTAx