pta一元多项式的加法c++
时间: 2024-10-10 22:06:46 浏览: 81
在C++中,处理Polynomial Terms Addition (pta)即一元多项式的加法,可以创建一个简单的类来表示多项式项,包括系数和指数。这里是一个基础的实现示例:
```cpp
#include <iostream>
#include <vector>
// 定义多项式项
class Term {
public:
int coefficient; // 系数
int exponent; // 指数
// 构造函数
Term(int c = 0, int e = 0) : coefficient(c), exponent(e) {}
// 打印多项式项
void print() const {
std::cout << coefficient << "x^" << exponent << " ";
}
};
// 多项式类,包含一个term向量存储所有项
class Polynomial {
private:
std::vector<Term> terms;
public:
// 添加项到多项式
void addTerm(Term t) {
terms.push_back(t);
}
// 打印多项式
void print() const {
for (const auto& term : terms) {
term.print();
}
std::cout << std::endl;
}
// 计算两个多项式之和
friend Polynomial operator+(const Polynomial& p1, const Polynomial& p2);
// 这里可以添加其他操作...
};
// 实现加法运算符重载
Polynomial operator+(const Polynomial& p1, const Polynomial& p2) {
Polynomial result;
for (const auto& term1 : p1.terms) {
bool found = false;
for (auto& term2 : p2.terms) {
if (term1.exponent == term2.exponent) {
result.addTerm(Term(term1.coefficient + term2.coefficient, term1.exponent));
found = true;
break;
}
}
if (!found) {
result.addTerm(term1); // 如果在p2中没找到同指数项,则直接添加
}
}
return result;
}
int main() {
Polynomial p1({1, 2, 3}); // x^2 + 2x + 3
Polynomial p2({4, 5, 6}); // 4x^2 + 5x + 6
p1.print(); // 输出: 1x^2 2x 3
p2.print(); // 输出: 4x^2 5x 6
Polynomial sum = p1 + p2; // 相加
std::cout << "Sum: ";
sum.print(); // 输出相加结果
return 0;
}
```
在这个例子中,`operator+`被重载,使得`Polynomial`类型之间可以进行加法操作。当执行`p1 + p2`时,会合并两个多项式的所有对应幂次的系数。
阅读全文