Lỗi khi viết chương trình giải phương trình bậc hai bằng C++

Mình nhập giá trị theo thứ tự a, b, c là 1, 3, 2. Kết quả sẽ là -1, -2 nhưng máy nó ra x1,x2 đều là -1.5

Khi chạy chương trình bạn nhập giá trị là gì? Kết quả in ra là gì? Có thông báo lỗi gì?

1 Like

Mình nhập giá trị theo thứ tự a, b, c là 1, 3, 2. Kết quả sẽ là -1, -2 nhưng máy nó ra x1,x2 đều là -1.5

Up full code mình xem??? debug thử

1 Like

Đây bạn

Bạn chưa nhập a b c mà tính delta rồi.

delta = b*b - 4ac lúc đầu chưa nhập sao đã thực hiện phép tính rồi? Lúc này nó chưa biết delta là gì

P/S:
[spoiler]Có sự nhầm lẫn gì đó ở đây :smile: [/spoiler]

1 Like

Ý bạn là sao mình không hiểu?

cout << "Hello world!" << endl;
cout << "Giai Phuong Trinh Bac Hai"<< endl;
int a, b, c; 
cin >> a>>b>>c;
delta = b*b - 4*a*c;

p/s : chuyển tính delta xuống

delta>0 thôi nhé bỏ dấu = đi

ủa mình không cần khai báo là delta dạng gì hả?

hehe mình quên mất :v

tất nhiên là phải khai báo rồi

ủa vậy lúc nãy mình cũng có khai báo mà?

#include<iostream>
#include<math.h>
using namespace std;

int main()
	int a, b, c, delta;
	cout << "nhap: ";
	cin >> a >> b >> c;
	delta = b*b - 4 * a*c;
	if (delta==0)
	{
		cout << "phuong trinh co nghiem x=" << -b / 2 / a;
	}
	if (delta>0)
	{
		cout << "x1= " << ((-b - sqrt(delta)) / 2 / a) << endl << "x2= " << ((-b + sqrt(delta)) / 2 / a);
	}
	if (delta<0)
	{
		cout << "phoung trinh vo nghiem";
	}
	system("pause");
}

bị lỗi gì á bạn

dấu chấm phẩy…

thiếu dấu ; ở sâu chỗ delta

à hiểu rồi. Ths bạn. Ủa mà cho mình hỏi mình không cần khai báo delta nó thuộc float hay int hả?

ở đây a,b,c bạn khai báo kiểu int nên delta cũng phải khai báo kiêu int

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