Em làm bài tập về tính và in nghiệm của phương trình bậc 2 .
Khi em cài đặt x1 x2 dưới dạng tham biến thì kết quá trả về đúng, nhưng khi cài đặt dạng giá trị trả về của hàm thì chỉ có x2 là trả về đúng, còn x1 bằng rất bé , gần bằng 0. Mọi người cho em hỏi là cài đặt x1 x2 dưới dạng giá trị trả về của hàm như em làm ở đây thì sai ở đâu và sửa lại như thế nào để giải đúng bài toán ạ
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
double nghiem(double a,double b,double c);
double nghiem(double a,double b,double c)
{
double delta,x1,x2;
delta = b*b - 4*a*c;
if (delta <= 0)
{
if (delta< 0) x1= 0 ;
else x1= -b/(2*a);
x2= 0;
return x1,x2;
}
else
{
delta = sqrt (delta) ;
x1= -b - delta; x1= x1/(2*a);
x2= -b + delta; x2 =x2/(2*a);
return x1, x2;
}
}
int main()
{
double a,b,c,x1,x2,d;
cout<<"Nhap a: "; cin >> a;
cout<<"Nhap b: "; cin >> b;
cout<<"Nhap c: "; cin >> c;
d= nghiem(a,b,c,x1,x2);
cout << x1 << endl;
cout << x2 << endl;
system("pause");
}