Mọi người giúp em với, lúc em runcode thì chỉ nhập được 2 dòng là chương trình tự động dừng chứ không cho nhập thêm bất cứ gì ạ
Viết chương trình nhập xuất đa thức một biến f(x). Sau đó nhập giá trị biến x và tính giá trị f(x) với kết quả hiển thị chính xác 2 số sau dấu thập phân.
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
struct DATHUC
{
float *heso;
float *somu;
int n;
};
DATHUC *Nhap()
{
DATHUC *B = new DATHUC;
cin >> (*B).n;
for (int i = 0; i < (*B).n; i++)
{
cin >> (*B).heso[i];
cin >> (*B).somu[i];
}
return B;
}
void Xuat(DATHUC B)
{
for (int i = 0; i < B.n; i++)]
{
if (B.heso[i] != 0)
{
if (B.heso[i] == 1)
cout << '+';
else if (B.heso[i] == -1)
cout << '-';
else
cout << B.heso[i];
if (B.somu[i] == 1)
cout << 'x';
else if (B.somu[i] != 0)
cout << "x^" << B.somu[i];
}
}
}
float TinhDaThuc(DATHUC B, double x)
{
float f = 0;
for (int i = 0; i < B.n; i++)
{
f += pow(x, B.somu[i]);
}
return f;
}
int main()
{
DATHUC *B;
B = Nhap();
cout << "Da thuc vua nhap la: ";
Xuat(*B);
double x;
cin >> x;
cout << "\nVoi x=" << x << ", gia tri da thuc la: "
<< setprecision(2) << fixed << TinhDaThuc(*B, x);
return 0;
}