c++数组实现多项式相加
时间: 2024-09-25 12:13:18 浏览: 30
在C++中,你可以使用数组来实现多项式的相加。首先,你需要创建两个数组,每个数组表示一个多项式的系数和次数。例如,如果一个多项式是\( a_n x^n + ... + a_1 x^1 + a_0 \),你可以为每个系数分配一个数组元素,而次数作为下标。这里是一个简单的例子:
```cpp
#include <iostream>
using namespace std;
// 定义多项式结构体
struct Polynomial {
int coefficients[10]; // 可以调整数组大小以容纳更多项
int degree; // 最高次数
};
// 助手函数,用于计算多项式值
double evaluate(Polynomial poly, double x) {
return pow(x, poly.degree) * poly.coefficients[poly.degree];
}
// 简单多项式相加函数
void addPolynomials(Polynomial& poly1, Polynomial& poly2, Polynomial& result) {
int maxDegree = max(poly1.degree, poly2.degree);
result.degree = maxDegree;
for (int i = 0; i <= maxDegree; ++i) {
if (i <= poly1.degree && i <= poly2.degree)
result.coefficients[i] = poly1.coefficients[i] + poly2.coefficients[i];
else if (i > poly1.degree)
result.coefficients[i] = poly2.coefficients[i];
else
result.coefficients[i] = poly1.coefficients[i];
}
}
int main() {
Polynomial poly1, poly2, sumPoly;
// 初始化多项式...
poly1.degrees = 2;
poly1.coefficients[0] = 4;
poly1.coefficients[1] = -5;
poly1.coefficients[2] = 6;
poly2.degrees = 3;
poly2.coefficients[0] = 2;
poly2.coefficients[1] = 3;
poly2.coefficients[2] = -1;
poly2.coefficients[3] = 8;
addPolynomials(poly1, poly2, sumPoly); // 相加
cout << "Sum polynomial: ";
for (int i = 0; i <= sumPoly.degree; ++i) {
if (sumPoly.coefficients[i])
cout << sumPoly.coefficients[i] << "x^" << i << " + ";
}
cout << endl;
return 0;
}
```
在这个示例中,`addPolynomials`函数会将两个输入多项式相加并将结果存储到`result`中。注意,这里假设数组大小足够大来存储所有的系数。