採用動態陣列的方法
該方法較鏈式方法略微複雜
#include
using
namespace std;
//多項式的乘法和加法
struct node
;//****排序****
void
nodesort
(node* pn,
const
int& count)}}
}}//****輸出****
void
print
( node *s,
const
int& n)
cout<}//****合併同類項****
intnodemerge
(node* s,
const
int& n ,
const
int& key=0)
if(n==1)
return1;
if(n>
1&& key==0)
else
}return count+1;
}if(n>
1&&key==1)
else
}return count+1;
}}//***計算多項式加法***
void
add(node* s,
const
int& m,node* a,
const
int& n)
else
if(s[i]
.exp.exp)
else
}while
(iwhile
(jtemp =
nodemerge
(newnode,temp,1)
; cout<<
"多項式加法\n"
;print
(newnode,temp)
;delete
newnode;
return;}
//***計算多項式乘法***
void
multi
(node* s,
const
int& m,node* a,
const
int& n)
}//***排序並且合併***
count =
nodemerge
(pn,count,0)
; cout<<
"多項式乘法\n"
;print
(pn,count)
;delete
pn;
return;}
//****輸入資料*****
node*
node_input
(const
int& n)
return seq;
}//***銷毀****
void
delete_node
(node*s)
//**測試**
intmain()
樣例測試輸出
input m value:31
2132
4input n value:43
53763
425*
****
****output***
****
**2x^4
+1x^3+
1x^2**
****
***output***
****
**3x^76
+5x^5+
3x^4
多項式乘法**
****
***output***
****
**6x^80
+3x^79+
3x^78
+10x^9+
11x^8+
8x^7
+3x^
6多項式加法**
****
***output***
****
**3x^76
+5x^5+
5x^4
+1x^3+
1x^2
多項式加法 乘法
學校acm上面的題目,題目不難,不少細節。本質就是鍊錶操作,首先是題目要求 輸入 兩組資料,每一組代表乙個一元整係數多項式,有多行組成,其中每一行給出多項式每一項的係數和指數,這些行按指數遞減次序排序,每一組結束行為 0 1 輸出 三組資料,前兩組為一元整係數多項式,最後一組為兩個多項式的和。一元整...
多項式加法
題目內容 乙個多項式可以表達為x的各次冪與係數乘積的和,比如 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程式要處理的冪最大為100。輸入格式 總共要輸入兩個多項式,每個多項式的輸入格式如下 每行輸入兩個數字,第乙個表示冪次,第二個表示該冪次的係數...
多項式加法
題目內容 乙個多項式可以表達為x的各次冪與係數乘積的和,比如 2x6 3x5 12x3 6x 20 現在,你的程式要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的係數相加然後輸出。程式要處理的冪最大為100。輸入格式 總共要輸入兩個多項式,每個多項式的輸入格式如下 每行輸入兩個數字,...