RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  67446 - AYUDA CON METODO DE BISECCION
Autor:  Angel
Hola a todos. Estoy haciendo un programa donde se resuelven raices mediante el metodo de biseccion. Para ello uso el codigo adjunto, pero necesito que en lugar de escribir la funcion dentro del codigo, el usuario sea capaz de introducirla el mismo.

¿Hay alguna forma de que el usuario meta la funcion por teclado y esta se inserte antes del return x*x*x-x-2, o que lo reemplace?

Gracias.

#include <iostream>
#include <cmath>
#include <stdlib.h>
using namespace std;
double f(double x);
double biseccion(double a, double b, double tolerancia, int maxiter);
int main()
{
double a, b, raiz;
double tolerancia=0.00000;
int maxiter=25;
cout << "Ingrese inicio del intervalo: ";
cin >> a;
cout << "Ingrese final del intervalo: ";
cin >> b;
cout << " ";
cout << " # de"<<" "<<"Iteracion"<<" "<<" A"<<" "<<" B"<<" "<<" C"<<" "<<" f(c)"<<endl;
raiz=biseccion(a,b,tolerancia,maxiter);
cout << " ";
cout << "La raiz es: "<< raiz <<endl;
return 0;
}

double f(double x)
{
return x*x*x-x-2;
}
double biseccion(double a, double b, double tolerancia, int maxiter)
{
double c;
int numiter=1;
do
{
c=(a+b)/2;
if(f(a)*f(c)<0)
{
b=c;
}
else
{
a=c;
}
cout<<" "<<numiter<<" "<<" "<<a<<" "<<b<<" "<<c<<" "<<f(c)<<endl;
numiter++;
}
while((abs(f(c))>tolerancia)&&(numiter<maxiter));
return c;
}


Nombre
Apellidos
Correo
Comentarios