設計函式分別求兩個一元多項式的乘積與和。
輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0
。
4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0
本題使用鍊錶,最後的問題在於格式,要考慮輸出的格式,尤其是只有乙個非零係數項的多項式。
#include #define max 200000
using namespace std;
class mulproject;
class headmul;
headmul& insertmul(headmul&hd, int coe, int ind);
headmul&multiply(headmul&hd, const headmul &hd2, headmul&h3);
headmul&add(headmul&hd, const headmul&hd2, headmul&hd3);
void freemul(headmul&hd);
class mulproject;
class headmul
;int main()
cin >> n2;
for (int i = 0; i < n2; i++)
multiply(hdone, hdtwo, hdthree);
tmp = hdthree.first;
while (tmp)
else
}tmp = tmp->next;
} if (count == 0)
cout << "0 0";
count = 0;
cout << endl;
add(hdone, hdtwo, hdfour);
tmp = hdfour.first;
while (tmp)
else
}tmp = tmp->next;
} if (count == 0)
cout << "0 0";
cout << endl;
freemul(hdone);//釋放鍊錶
freemul(hdtwo);
freemul(hdthree);
freemul(hdfour);
system("pause");
return 0;
}headmul& insertmul(headmul&hd, int coe, int ind)
else
else
else}}
tmp->next = null;
pre->next = tmp;
return hd;
} }else//空時 }
headmul&multiply(headmul&hd, const headmul &hd2, headmul&hd3)
tmp2 = hd2.first;
tmp1 = tmp1->next;
} }else }
headmul&add(headmul&hd, const headmul&hd2, headmul&hd3)
tmp = hd.first;
while (tmp)
return hd3;
}void freemul(headmul&hd)
}
5 2 一元多項式的乘法與加法運算
設計函式分別求兩個一元多項式的乘積與和。輸入格式 輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式 輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但...
5 2 一元多項式的乘法與加法運算 20分
題目 輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0。4 3 4 ...
5 2 一元多項式的乘法與加法運算 20分
設計函式分別求兩個一元多項式的乘積與和。輸入格式 輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式 輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但...