10 一元多項式的加 減法運算

2021-10-24 12:27:32 字數 2400 閱讀 4500

問題描述 :

假設2個稀疏一元多項式分別由帶頭結點的有序單鏈表a和b儲存(指數項遞增有序)。現要求設計乙個演算法,實現稀疏一元多項式的加減法計算。要求使用a和b的原儲存空間(運算後b不再存在,a鍊錶中儲存結果多項式)。輸入中的單鏈表的長度不得在計算演算法中利用,僅作為建表使用。

注意:加/減法計算後,如某一項的結果係數為0,則該項要從多項式鍊錶中刪除。

輸入說明 :

第一行:加/減法選擇(0:加法 1:減法)

第二行:一元多項式a的項數

第三行:一元多項式a的各項的係數(係數之間以空格分隔)

第四行:一元多項式a的各項的指數(指數之間以空格分隔)

第五行:一元多項式b的項數

第六行:一元多項式b的各項的係數(係數之間以空格分隔)

第七行:一元多項式b的各項的指數(指數之間以空格分隔)

如果a或b的項數為0,則認為輸入的多項式只包含數字「0」,即係數為0,指數也為0。

輸出說明 :

第一行:多項式a的第一項的係數、指數(以空格分隔)

第一行:多項式a的第二項的係數、指數(以空格分隔)

…第n行:多項式a的第n項的係數、指數(以空格分隔) (假設多項式a的項數為n)

(空行)

第一行:多項式b的第一項的係數、指數(以空格分隔)

第一行:多項式b的第二項的係數、指數(以空格分隔)

…第m行:多項式b的第m項的係數、指數(以空格分隔) (假設多項式b的項數為m)

(空行)

第一行:加/減法計算後,結果多項式a的第一項的係數、指數(以空格分隔)

第一行:加/減法計算後,結果多項式a的第二項的係數、指數(以空格分隔)

第p行:加/減法計算後,結果多項式a的第n項的係數、指數(以空格分隔) (假設結果多項式的項數為p)

(多項式之間以空行分隔,如果多項式只包含「0」,則相應的多項式輸出"0 0",不包含引號。)

輸入範例 :16

7 3 -22 9 5 -8

0 1 7 8 17 100

38 22 -9

1 7 8

輸出範例 :

7 03 1

-22 7

9 85 17

-8 100

8 122 7

-9 8

7 0-5 1

-44 7

18 8

5 17

-8 100

#include

using

namespace std;

int arr[

10000[[

2];//用來儲存係數和指數的陣列

struct listnode

;//建立有序鍊錶

void

createlistinorder

(listnode *head,

int n)

node-

>next = p-

>next;

p->next = node;}}

void

display

(listnode *head)

while

(p !=

null

) cout<}void

test

(listnode *a,listnode *b,

int oper)

if(pb ==

null

)else

if(pa-

>zs == pb-

>zs)

else

pb = pb-

>next;

} pa = pa-

>next;}}

//刪除b鍊錶

void

deleteblist

(listnode *head)

delete head;

//刪除頭節點

}//刪除a鍊錶中係數為0的節點

void

deletealist

(listnode *head)

pre = p;

p = p-

>next;}}

intmain()

}createlistinorder

(a,n)

;//輸入b的m項係數和指數

cin>>m;

for(

int i =

0; i <

2; i++)}

createlistinorder

(b,n)

;test

(a,b,oper)

;deleteblist

(b);

deletealist

(a);

display

(a);

return0;

}

10 一元多項式的加 減法運算

假設2個稀疏一元多項式分別由帶頭結點的有序單鏈表a和b儲存 指數項遞增有序 現要求設計乙個演算法,實現稀疏一元多項式的加減法計算。要求使用a和b的原儲存空間 運算後b不再存在,a鍊錶中儲存結果多項式 輸入中的單鏈表的長度不得在計算演算法中利用,僅作為建表使用。注意 加 減法計算後,如某一項的結果係數...

一元多項式的加 減法運算

問題描述 假設2個稀疏一元多項式分別由帶頭結點的有序單鏈表a和b儲存 指數項遞增有序 現要求設計乙個演算法,實現稀疏一元多項式的加減法計算。要求使用a和b的原儲存空間 運算後b不再存在,a鍊錶中儲存結果多項式 輸入中的單鏈表的長度不得在計算演算法中利用,僅作為建表使用。注意 加 減法計算後,如某一項...

(C )多項式加減法(一元)

easy 一元多項式表示 include includeusing namespace std struct node int main cout pre head for int i 1 i n i cout x cout cout int num 0 pre head for int i 1 i...