欢迎来到天天文库
浏览记录
ID:35222243
大小:17.93 KB
页数:5页
时间:2019-03-22
《实验报告编写一个程序用单链表存储多项式,并实现两个多项式相加的函数》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验报告编写一个程序用单链表存储多项式,并实现两个多项式相加的函数/*多项式加法和乘法示例*/#include#include#includeusingnamespacestd;//定义多项式的项类classterm{public:intcoef;//多项式系数intexp;//多项式指数//初始化项的系数和指数term(intc=0,inte=0):coef(c),exp(e){}};//定义多项式类classPolyArith{private:li
2、stm_poly_list_first;//存储第一个多项式listm_poly_list_second;//存储第二个多项式listm_poly_list_result;//用以存储运算结果//多项式私有成员函数,用以乘法时的调用listPoly_add(list&poly_list_first,list&poly_list_second){listpoly_list_result;//用以存储运算结果list3、erm>::iteratoriter_first=poly_list_first.begin();list::iteratoriter_second=poly_list_second.begin();//该while循环针对两个链表迭代器都没有指到结尾的情形while(iter_first!=poly_list_first.end()&&iter_second!=poly_list_second.end()){termt_temp;termt_first=(term)*iter_firs4、t;termt_second=(term)*iter_second;if(t_first.exp>t_second.exp){poly_list_result.push_back(t_first);iter_first++;}elseif(t_second.exp>t_first.exp){poly_list_result.push_back(t_second);iter_second++;}else{t_temp.coef=t_first.coef+t_second.coef;t_temp.exp=5、t_first.coef;poly_list_result.push_back(t_temp);iter_first++;iter_second++;}}//该for循环针对第一个多项式的迭代器没有指到结尾//第二个指到结尾的情形for(;iter_first!=poly_list_first.end();iter_first++){poly_list_result.push_back(*iter_first);}//该for循环针对第二个多项式的迭代器没有指到结尾//第一个指到结尾的情形for(;i6、ter_second!=poly_list_second.end();iter_second++){poly_list_result.push_back(*iter_second);}returnpoly_list_result;}public://输入函数,用以输入多项式voidPoly_input(){intn;cout<<"请输入第一个多项式的项数:"<>n;cout<<"按降幂输入第一个多项式的每一项的系数和指数:";cout<7、++){termt_temp;cout<<"请输入第"<>t_temp.coef;cin>>t_temp.exp;m_poly_list_first.push_back(t_temp);}n=0;cout<<"请输入第二个多项式的项数:"<>n;cout<<"按降幂输入第二个多项式的每一项的系数和指数:";cout<8、"请输入第"<>t_temp.coef;cin>>t_temp.exp;m_poly_list_second.push_back(t_temp);}}//输出函数,用以输出多项式voidPoly_output(){//用以指向输出多项式的第一个元素list::iteratoriter=m_poly_list_result.begin();//输出多项式的每一项fo
3、erm>::iteratoriter_first=poly_list_first.begin();list::iteratoriter_second=poly_list_second.begin();//该while循环针对两个链表迭代器都没有指到结尾的情形while(iter_first!=poly_list_first.end()&&iter_second!=poly_list_second.end()){termt_temp;termt_first=(term)*iter_firs
4、t;termt_second=(term)*iter_second;if(t_first.exp>t_second.exp){poly_list_result.push_back(t_first);iter_first++;}elseif(t_second.exp>t_first.exp){poly_list_result.push_back(t_second);iter_second++;}else{t_temp.coef=t_first.coef+t_second.coef;t_temp.exp=
5、t_first.coef;poly_list_result.push_back(t_temp);iter_first++;iter_second++;}}//该for循环针对第一个多项式的迭代器没有指到结尾//第二个指到结尾的情形for(;iter_first!=poly_list_first.end();iter_first++){poly_list_result.push_back(*iter_first);}//该for循环针对第二个多项式的迭代器没有指到结尾//第一个指到结尾的情形for(;i
6、ter_second!=poly_list_second.end();iter_second++){poly_list_result.push_back(*iter_second);}returnpoly_list_result;}public://输入函数,用以输入多项式voidPoly_input(){intn;cout<<"请输入第一个多项式的项数:"<>n;cout<<"按降幂输入第一个多项式的每一项的系数和指数:";cout<7、++){termt_temp;cout<<"请输入第"<>t_temp.coef;cin>>t_temp.exp;m_poly_list_first.push_back(t_temp);}n=0;cout<<"请输入第二个多项式的项数:"<>n;cout<<"按降幂输入第二个多项式的每一项的系数和指数:";cout<8、"请输入第"<>t_temp.coef;cin>>t_temp.exp;m_poly_list_second.push_back(t_temp);}}//输出函数,用以输出多项式voidPoly_output(){//用以指向输出多项式的第一个元素list::iteratoriter=m_poly_list_result.begin();//输出多项式的每一项fo
7、++){termt_temp;cout<<"请输入第"<>t_temp.coef;cin>>t_temp.exp;m_poly_list_first.push_back(t_temp);}n=0;cout<<"请输入第二个多项式的项数:"<>n;cout<<"按降幂输入第二个多项式的每一项的系数和指数:";cout<8、"请输入第"<>t_temp.coef;cin>>t_temp.exp;m_poly_list_second.push_back(t_temp);}}//输出函数,用以输出多项式voidPoly_output(){//用以指向输出多项式的第一个元素list::iteratoriter=m_poly_list_result.begin();//输出多项式的每一项fo
8、"请输入第"<>t_temp.coef;cin>>t_temp.exp;m_poly_list_second.push_back(t_temp);}}//输出函数,用以输出多项式voidPoly_output(){//用以指向输出多项式的第一个元素list::iteratoriter=m_poly_list_result.begin();//输出多项式的每一项fo
此文档下载收益归作者所有