用c++编写程序完成求一元多项式的相加与相乘的功能
时间: 2024-09-25 08:16:13 浏览: 58
Add_Multiply_Polyn.rar_一元多项式_一元多项式相加
在C++中,我们可以使用结构体或者类来表示一元多项式,并通过函数实现多项式的相加和相乘。这里是一个简单的例子:
首先,我们创建一个名为`Polynomial`的类,包含一个数组存储系数以及多项式的次数:
```cpp
class Polynomial {
private:
int degree; // 次数
double coefficients[100]; // 系数数组
public:
Polynomial() : degree(0) {} // 构造函数,初始化次数为0
void add(Polynomial& other) { // 相加
if (degree != other.degree) {
throw std::invalid_argument("Degrees of polynomials are not equal.");
}
for (int i = 0; i <= degree; ++i) {
coefficients[i] += other.coefficients[i];
}
}
void multiply(Polynomial& other) { // 相乘
Polynomial result(degree + other.degree); // 新多项式的度数
for (int i = 0; i <= degree; ++i) {
for (int j = 0; j <= other.degree; ++j) {
result.coefficients[i + j] += coefficients[i] * other.coefficients[j];
}
}
}
// 其他辅助函数,如显示多项式等
};
```
在这个例子中,`add()`函数检查两个多项式的次数是否相等,如果不同则抛出异常。`multiply()`函数通过两层循环计算新多项式的每个项。
要使用这个类,你可以这样做:
```cpp
int main() {
Polynomial p1, p2;
// 初始化p1和p2...
Polynomial sum;
p1.add(p2);
sum = p1;
Polynomial product;
p1.multiply(p2);
product = p1;
// 显示结果多项式
std::cout << "Sum: ";
p1.display(); // 自定义的显示多项式函数
std::cout << "\nProduct: ";
product.display();
return 0;
}
```
这只是一个基本的示例,实际应用中你可能需要添加更多的错误处理和优化。如果你想了解如何输入多项式、从字符串解析系数等细节,可以继续提问。
阅读全文