You are on page 1of 2

void inputTerm(polynomialTerm t[], int coef, int expo)

{
for (int i = 0; i < MAX_TERMS; i++)
{
if (t[i].expo < expo)
{
if (t[i].coef != 0)
{
for (int j = MAX_TERMS; j > i; j--)
{
t[j] = t[j - 1];
}
}
t[i].coef = coef;
t[i].expo = expo;

break;
}
else if (t[i].expo == expo)
{
t[i].coef = coef;
if(t[i].coef==0)
{
for (int j = i; j < MAX_TERMS; j++)
{
t[j] = t[j + 1];
}
}
break;
}
else if (i == MAX_TERMS - 1)
{
t[i].coef = coef;
t[i].expo = expo;
break;
}
}

return;
}

void addArrayBasedPoly(polynomialTerm a[], polynomialTerm b[], polynomialTerm d[])


{
for (int i = 0, j = 0, z = 0; i < MAX_TERMS, j < MAX_TERMS;)//coef^expo
{
if (a[i].coef == 0 && b[j].coef == 0)
break;
if (a[i].expo == b[j].expo)
{
if (a[i].coef + b[j].coef == 0) {}
else
{
d[z].coef = a[i].coef + b[j].coef;
d[z].expo = a[i].expo;
z++;
}
i++;
j++;
}
else if (a[i].expo < b[j].expo)
{
d[z].coef = b[j].coef;
d[z].expo = b[j].expo;
j++;
z++;

}
else
{
d[z].coef = a[i].coef;
d[z].expo = a[i].expo;
i++;
z++;
}

return;
}

You might also like