Necesito ayuda con programa en Visual C++ con funcion.. (metodo de biseccion)
Hola tengo un problema con este codigo fuente, este programa es para realizar el metodo de biseccion para la funcion que esta indicada alli.. los errores son en esa line donde declaro la funcion .. por favor necesito que me digan como la declaro bien y que errores son los que tengo y como deberia ser esa linea o el algoritmo si es que esta mal hecho ... gracias de antemano.. .
Aqui les coloco el codigo fuente y los errores que se me presentan a la hora de compilar.
#include<iostream.h>
#include<math.h>
main()
{
double a, b, c, fa, fb, fc, error, x, y;
int k=0;
funcion double (x) {y=exp(x)+sin(x);return y;}
cout<<"Introduce el error maximo :";
cin>>error;
do{
cout<<"Introduzca el intervalo a :";
cin>>a;
cout<<endl;
cout<<"Introduzca el intervalo b :";
cin>>b;
x=a; y=funcion(x); fa=y;
x=b; y=funcion(x); fb=y;
}
while(fa*fb>0);
{
cout<<"No hay raices en ese intervalo ";
cout<<endl;
}
do{
c=(a+b)/2;
x=c;funcion(x);fc=y;
cout<<" "<<k<<" a="<<a<<" b="<<b<<" c="<<c<<" "<<endl;
k=k+1;
if(fc*fb>0)
b=c;
else
a=c;
}
while(fabs(fc>error));
cout<<"La raiz es "<<c<<"n ";
cout<<"La imagen de la raiz es "<<fc<<" ";
return 0;
}
ERRORES
.cpp(7) : error C2065: 'funcion' : undeclared identifier
.cpp(7) : error C2144: syntax error : missing ';' before type 'double'
cpp(7) : error C2143: syntax error : missing ';' before '{'
.cpp(7) : warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
Aqui les coloco el codigo fuente y los errores que se me presentan a la hora de compilar.
#include<iostream.h>
#include<math.h>
main()
{
double a, b, c, fa, fb, fc, error, x, y;
int k=0;
funcion double (x) {y=exp(x)+sin(x);return y;}
cout<<"Introduce el error maximo :";
cin>>error;
do{
cout<<"Introduzca el intervalo a :";
cin>>a;
cout<<endl;
cout<<"Introduzca el intervalo b :";
cin>>b;
x=a; y=funcion(x); fa=y;
x=b; y=funcion(x); fb=y;
}
while(fa*fb>0);
{
cout<<"No hay raices en ese intervalo ";
cout<<endl;
}
do{
c=(a+b)/2;
x=c;funcion(x);fc=y;
cout<<" "<<k<<" a="<<a<<" b="<<b<<" c="<<c<<" "<<endl;
k=k+1;
if(fc*fb>0)
b=c;
else
a=c;
}
while(fabs(fc>error));
cout<<"La raiz es "<<c<<"n ";
cout<<"La imagen de la raiz es "<<fc<<" ";
return 0;
}
ERRORES
.cpp(7) : error C2065: 'funcion' : undeclared identifier
.cpp(7) : error C2144: syntax error : missing ';' before type 'double'
cpp(7) : error C2143: syntax error : missing ';' before '{'
.cpp(7) : warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
Hola....tu error está precisamente en la línea 7 del código..como te dice...pones
"funcion double (x) {y=exp(x)+sin(x);return y;}" lo unico que se te fue es el orden...debe de ir:
double funcion (x) {y=exp(x)+sin(x);return y;}
Espero que te sirva
"funcion double (x) {y=exp(x)+sin(x);return y;}" lo unico que se te fue es el orden...debe de ir:
double funcion (x) {y=exp(x)+sin(x);return y;}
Espero que te sirva
