Giải phương trình bậc 6 bằng pp chia đôi bị sai đáp án

Giải phương trình bậc 6 bằng pp chia đôi, mình mới học c++ nên khi chạy thử code tự viết lại không đúng đoạn nào đó nên đáp án sai, ai giúp vs ạ

#include<iostream>
#include<cmath>

using namespace   std;

	  	int    main(){
	  	int a,b,c, d,e,f,u,i;
	  	float x[20],h[20],t1,t2,g1,g2 ;
	  	cout<<"Nhap vao cac so a,b,c cua phuong trinh bac 6:"<<endl;
	  	cout<<"  a=";cin>>a;
	  	cout<<"  b=";cin>>b; 
	  	cout<<"  c=";cin>>c;
	  	cout<<"  d=";cin>>d;
	  	cout<<"  e=";cin>>e;
	  	cout<<"  f=";cin>>f;
	 	 cout<<"  u=";cin>>u;
	  	cout<<"\n Nhap khoang chua nghiem chay tu t1 ";
	  	cout<<"  t1=";cin>>t1;
	  	cout<<"  t2=";cin>>t2;
	  	g1= a*t1*t1*t1*t1*t1*t1 +b*t1*t1*t1*t1*t1+c*t1*t1*t1*t1+d*t1*t1*t1+e*t1*t1+f*t1+u;
	  	g2= a*t2*t2*t2*t2*t2*t2 +b*t2*t2*t2*t2*t2+c*t2*t2*t2*t2+d*t2*t2*t2+e*t2*t2+f*t2+u;
	  	if ((g1*g2)>0) cout<<"\n khong the xac dinh duoc khoang nghiem, ban hay thu lai doan lan can nghiem ";
	  	else  {
	  	cout<<"\n doan nay chua it nhat 1 nghiem: ";
	 
	  for (i=1;i<21;i++) 
	  {
	  	h[i]=(g1+g2)/2;
	  	x[i]=(t1+t2)/2;
	  	if((h[i]*g1)<=0) {
	  	g2=h[i]; t2=x[i];}
	  	else {
		  g1=h[i];t1=x[i];}
		  }	cout<<g1<<"    "<<g2;
	cout<<"\n nghiem cua phuong trinh la x = "<< x[20];
	cout<<"\n gia tri phuong trinh luc nay g = "<< h[20];}
	  
	  
	  system("pause");
	  return 0;
	  }

Bạn viết hàm tính đa thức riêng nhé :smiley:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?