以下是一个使用 C++ 编写的函数add,用于实现两个多项式p1p2的相加操作。

#include <iostream>
#include <vector>

typedef struct {
    int coef; // 系数
    int exp;  // 指数
} Term;

typedef std::vector<Term> Poly;

Poly add(Poly p1, Poly p2) {
    Poly result;
    int i = 0, j = 0;

    while (i < p1.size() && j < p2.size()) {
        if (p1[i].exp > p2[j].exp) {
            result.push_back(p1[i]);
            i++;
        } else if (p1[i].exp < p2[j].exp) {
            result.push_back(p2[j]);
            j++;
        } else {
            Term term;
            term.coef = p1[i].coef + p2[j].coef;
            term.exp = p1[i].exp;
            result.push_back(term);
            i++;
            j++;
        }
    }

    // 将剩余的项加入到结果中
    while (i < p1.size()) {
        result.push_back(p1[i]);
        i++;
    }

    while (j < p2.size()) {
        result.push_back(p2[j]);
        j++;
    }

    return result;
}

这个函数使用了 C++ 中的向量 (vector) 来表示多项式。多项式被定义为一个包含多个项 (Term) 的向量。每个项包含两个整数字段,coef表示系数,exp表示指数。

函数接受两个参数,分别是多项式p1p2。函数通过遍历两个多项式的项,按照指数的大小进行相加操作。对于相同指数的项,将系数相加得到新的系数,并将结果加入到结果多项式result中。如果某个多项式已经处理完,将剩余的项直接加入到结果中。

最后,函数返回结果多项式result

请注意,该函数假设系数和指数均为整数类型。您可以根据实际情况进行修改和优化。希望对您有帮助!

C++ 多项式相加函数实现 - add(poly p1, poly p2)

原文地址: https://www.cveoy.top/t/topic/hYH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录