Không in ra được tổng của 2 đa thức

Mọi người coi giúp em phần thuật toán Tong2DaThuc với ạ, em nhập 2 đa thức vào thì chỉ in ra 2 đa thức chứ không in ra tổng 2 đa thức.
Tính tổng 2 đa thức:

#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
struct DATHUC
{
    float heso[100];
    int somu[100];
    int n;
};
DATHUC *Nhap()
{
    DATHUC *B = new DATHUC;
    cin >> (*B).n;
    for (int i = 1; i <= (*B).n; i++)
    {
        cin >> (*B).heso[i];
        cin >> (*B).somu[i];
    }
    return B;
}
void Xuat(DATHUC B)
{
    int cnt = 0;
    for (int i = 1; i <= B.n; i++)
    {
        if (!B.heso[i])
            cnt++;
        else if (!B.heso[i])
            cout << B.heso[i];
        else if (B.heso[i] == 1 && B.somu[i] == 1)
            cout << "x";
        else if (B.heso[i] == -1 && B.somu[i] == 1)
            cout << "-x";
        else if (B.somu[i] == 1)
            cout << B.heso[i] << "x";
        else if (B.somu[i] == 0)
            cout << B.heso[i];
        else if ((B.heso[i] == 1))
            cout << "x^" << B.somu[i];
        else if (B.heso[i] == -1)
            cout << "-x^" << B.somu[i];
        else
            cout << B.heso[i] << "x^" << B.somu[i];
        if (B.heso[i + 1] > 0 && i != B.n && cnt != i)
            cout << "+";
    }
    if (cnt == B.n)
        cout << 0;
}
DATHUC Tong2DaThuc(DATHUC *A, DATHUC *B)
{
    DATHUC *C = new DATHUC;
    int i, j, x;
    j = 0;
    if (A->n < B->n)
        x = B->n;
    else
        x = A->n;
    for (i = 1; i <= x; i++)
    {
        j++;
        C->heso[i] = A->heso[i] + B->heso[j];
        if(B->n>A->n)
        {
            C->somu[i]=B->somu[i];
        }
        else C->somu[i]=A->somu[i];
    }
    return *C;
}
int main()
{
    DATHUC *A, *B;
    A = Nhap();
    B = Nhap();
    cout << "Da thuc A: ";
    Xuat(*A);
    cout << "\nDa thuc B: ";
    Xuat(*B);
    cout << "\nA+B = ";
    Xuat(Tong2DaThuc(A, B));
    return 0;

}

Bạn chưa hề gán giá trị cho C->n.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?