01/10/2018, 16:49

Chương trình giải pt bậc 2 C++ chạy không lỗi nhưng bị sai kết quả

Em mới học C++, đang code thử cái chương trình giải pt bậc 2 vẫn chạy không báo lỗi nhưng khi kết quả là hai nghiệm phân biệt thì chương trình lại ra kết quả sai, các bác chỉ giúp xem em sai ngu ở đâu với

int main(int argc, char** argv) {
	cout<<"Chuong trinh giai phuong trinh bac 2: ax^2+bx+c
";
	double x1,x2,a,b,c,denta;
	cout<<"Nhap he so a:";
	cin>>a;
	cout<<"Nhap he so b:";
	cin>>b;
	cout<<"Nhap he so c:";
	cin>>c;
	denta=b*b-4*a*c;
	if(a==0)
	{
		cout<<"Day la phuong trinh bac 1";
	}
	else
	{
	if(denta<0)
	{
		cout<<"Phuong trinh vo nghiem";
	}
	else if(denta=0)
	{
		cout<<"Phuong trinh co nghiem kep x1=x2="<<-b/(2*a);
	}
	else
	{
		cout<<"Phuong trinh co 2 nghiem phan biet
";
		x1=(-b+sqrt(denta))/(2*a);
		x2=(-b-sqrt(denta))/(2*a);
		cout<<"x1= "<<x1;
		cout<<endl;
		cout<<"x2= "<<x2;
	}
	}
	return 0;
HK boy viết 19:05 ngày 01/10/2018

if(denta=0)

Úi chà chà

Hoàng Thành Tiến viết 18:53 ngày 01/10/2018

A, thấy rồi, cảm ơn hihi

Hoàng Thành Tiến viết 18:55 ngày 01/10/2018

À mà em thấy đúng rồi mà, nếu delta bằng 0 thì nghiệm kép x1=x2= -b/2a

Nguyễn Đình Anh viết 18:50 ngày 01/10/2018

Đọc lại toán tử trong C++. muốn so sánh bằng thì dùng ==

Lại Nhật Tân viết 18:49 ngày 01/10/2018

bạn có thể thêm

{
cout<<"Day la phuong trinh bac 2"; 
}````
nếu cần :smile:
Bài liên quan
0