1樓:_鈊_煩_薏亂
/* 多項式加法和乘法示例 */
#include
#include
#include
using namespace std;
//定義多項式的項類
class term
}; //定義多項式類
class polyarith
else if(t_second.exp>t_first.exp)
else }
//該for迴圈針對第一個多項式的迭代器沒有指到結尾
//第二個指到結尾的情形
for(;iter_first != poly_list_first.end();iter_first++)
//該for迴圈針對第二個多項式的迭代器沒有指到結尾
//第一個指到結尾的情形
for(;iter_second != poly_list_second.end();iter_second++)
return poly_list_result;
}public:
//輸入函式,用以輸入多項式
void poly_input()
n = 0;
cout<<"請輸入第二個多項式的項數:"<>n;
cout<<"按降冪輸入第二個多項式的每一項的係數和指數:";
cout<>t_temp.coef;
cin>>t_temp.exp;
m_poly_list_second.push_back(t_temp);
} }
//輸出函式,用以輸出多項式
void poly_output()
else if(t_second.exp>t_first.exp)
else
}for(;iter_first != m_poly_list_first.end();iter_first++)
for(;iter_second != m_poly_list_second.end();iter_second++)
}//乘法函式,用以作多項式乘法
void poly_multi()
//此處呼叫私有成員函式poly_add()
poly_list_result =\
poly_add(poly_list_temp,poly_list_result);
}//將運算結果賦值給私有資料成員,用以輸出
m_poly_list_result = poly_list_result;
} };
//測試函式
int main()
資料結構(c語言)用單連結串列儲存一元多項式,並實現兩個多項式的相加運算
資料結構(c語言)用單連結串列儲存一元多項式,並實現兩個多項式的相加運算,怎麼做?
資料結構c語言 用單連結串列儲存一元多項式,並實現兩個多項式的相加運算(語法沒有錯誤)可能指標錯了
2樓:無淚
裡面的演算法有點問題!
我依照你的演算法,補充了一下程式!裡面新編寫了一個函式void copylist(linklist * a,linklist *b) ;
同時做了一點修改!也許,程式的可讀性不好,你可以自己再修改!**如下:
#include
#include
#define max 20 //多項式最多項數
typedef struct elemtype;
typedef struct lnode
linklist;
r->next=null; }/*
將一個連結串列的部分或全部結點複製到另一個連結串列中,
a是新連結串列的最後一個結點,b是被複制連結串列的某一結點
即讓要複製的結點加到新連結串列的尾部*/
void copylist(linklist * a,linklist *b) //
last->next=null; //新連結串列尾結點中next指標的值設為null,即新連結串列建立完成
銷燬連結串列
free(pre);
} void displist(linklist *l)
printf("\n");
}
}/*下面其他兩種情況的處理都是同一個道理,
在比較過程中,只要其中一個連結串列的所有結點都遍歷了,
此時只需要將另一個連結串列的剩餘結點都加到p3中,就可以完成連結串列的合併
*/else if ((p->data.exp) == (q->data.exp))
if (q->next != null)
q = q->next;
else
}else
}}/*在建立連結串列過程中,指標p3的值一直在改變,因此在完成合並連結串列後必須使p3指向頭結點*/
p3=head;
}void bubblesort(elemtype st,int n)}}
void main()
, , , , };
elemtype st2 = , , , , };
bubblesort(st1, num1);
bubblesort(st2, num2);
createlistr(l1, st1, num1);
createlistr(l2, st2, num2);
displist(l1);
displist(l2);
add(l1, l2, l3);
displist(l3);
destroylist(l1);
destroylist(l2);
destroylist(l3);}
用指標編寫程式,用指標編寫一個程式
include include include define max 100 輸入的最大字元數為100 int main printf character total number is d n total printf upper character number is d n count upp...
用c語言編寫程式,求s
staticvoidmain stringargs console.writeline 結果回 是答 sum console.readkey 用c語言編寫程式,計算s 1 1 2 1 2 3 1 2 3 n include usingnamespacestd intmain cout 結果2為 re...
編寫程式用c語言不是c儘量多做視程式質量
1.char s 100 int r 記錄空格位置 for i 0 i 100 i if s i 0 break 檢測到 結束 for i i 1 i 0 i if s i break 往回檢測那裡不是空格 r i 1 尾部空格開始的位置 s r 0 新字串的結束標識 2int i char s 1...