Turbo Basic - ayudaaaa con este metodo de biseccion

   
Vista:

ayudaaaa con este metodo de biseccion

Publicado por myriam (1 intervención) el 21/05/2009 16:49:09
holas , xfa quiero q alguien me ayude a corregir este programa, en la tabla no me genran los datos correctos.... para la función x^3-x^2-6x con el intervalo [-1,2]
x1=-1;
x2=2;
erros esperado: es=0.005;
la respuesta con 2 cifras significativas


#include<conio.h>
#include<iomanip.h>
#include<iostream.h>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<bios.h>
void main()
{
clrscr();
double grado,coefic[10],x1,x2,x,fx1,fx,es,xant,era;
int n,i,j;

cout<<"ingrese el grado del polinomio: ";cin>>grado;
cout.precision(4);
cout.setf(ios::right|ios::showpoint|ios::fixed);
cout<<"Ingrese los coeficientes: ";
for(i=0;i<=grado;i++)
{ cout<<"x^"<<i<<"=";
gotoxy(5,3+i); cin>>coefic[10];
}
cout<<"En qu‚ intervalo existe una soluci¢n?";
cin>>x1>>x2;
cout<<"con cuantas cifras significativas desea la respuesta: ";
cin>>n;
for(j=1;j<=80;j++)
{putch(205);}
cout<<setw(8)<<"xant"<<setw(8)<<"x1"<<setw(8)<<"x2"<<setw(8)<<"x"<<setw(8)<<"f(x1)"<<setw(8)<<"f(x)"<<setw(8)<<"era"<<setw(8)<<"es"<<" ";
for(j=1;j<=80;j++)
{putch(205);}

xant=0;
es=0.5*pow(10,-n);
do
{
x=(x1+x2)/2;
fx=poly(x,grado, coefic);
fx1=poly(x1,grado, coefic);
cout<<setw(8)<<xant<<setw(8)<<x1<<setw(8)<<x2<<setw(8)<<x<<setw(8)<<fx1<<setw(8)<<fx<<setw(8)<<era<<setw(8)<<es<<" ";
if((fx1*fx)<0)
{ x2=x;}
else
{ x1=x;}
era=fabs((x-xant)/x);
xant=x;

}while(era>es);

cout.precision(2);
for(j=1;j<=80;j++)
{putch(205);}

cout<<"Respuesta"<<x;
getch();
}


plisssssssssssss ayúdenme....................
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder