




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告编写一个程序用单链表存储多项式,并实现两个多项式相加的函数/*多项式加法和乘法示例*/#include#include#includeusingnamespacestd;/定义多项式的项类classtermpublic:intcoef;/多项式系数intexp;/多项式指数/初始化项的系数和指数term(intc=0,inte=0):coef(c),exp(e);/定义多项式类classPolyArithprivate:listm_poly_list_first;/存储第一个多项式listm_poly_list_second;/存储第二个多项式listm_poly_list_result;/用以存储运算结果/多项式私有成员函数,用以乘法时的调用listPoly_add(list&poly_list_first,list&poly_list_second)listpoly_list_result;/用以存储运算结果list: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_first;termt_second=(term)*iter_second;if(t_first.expt_second.exp)poly_list_result.push_back(t_first);iter_first+;elseif(t_second.expt_first.exp)poly_list_result.push_back(t_second);iter_second+;elset_temp.coef=t_first.coef+t_second.coef;t_temp.exp=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(;iter_second!=poly_list_second.end();iter_second+)poly_list_result.push_back(*iter_second);returnpoly_list_result;public:/输入函数,用以输入多项式voidPoly_input()intn;cout请输入第一个多项式的项数:n;cout按降幂输入第一个多项式的每一项的系数和指数:;coutendl;for(inti=1;i=n;i+)termt_temp;cout请输入第i项系数和指数,以enter为界:;coutt_temp.coef;cint_temp.exp;m_poly_list_first.push_back(t_temp);n=0;cout请输入第二个多项式的项数:n;cout按降幂输入第二个多项式的每一项的系数和指数:;coutendl;for(intj=1;j=n;j+)termt_temp;cout请输入第j项系数和指数,以enter为界:;coutt_temp.coef;cint_temp.exp;m_poly_list_second.push_back(t_temp);/输出函数,用以输出多项式voidPoly_output()/用以指向输出多项式的第一个元素list:iteratoriter=m_poly_list_result.begin();/输出多项式的每一项for(;iter!=m_poly_list_result.end();)termt_temp=*iter;coutt_temp.coefxt_temp.exp;if(+iter!=m_poly_list_result.end()cout+;coutendl;/加法函数,其基本思想同上边的私有成员函数Poly_add()/此处不带参数,多项式运算对象为私有数据成员voidPoly_add()list:iteratoriter_first=m_poly_list_first.begin();list:iteratoriter_second=m_poly_list_second.begin();while(iter_first!=m_poly_list_first.end()&iter_second!=m_poly_list_second.end()termt_temp;termt_first=(term)*iter_first;termt_second=(term)*iter_second;if(t_first.expt_second.exp)m_poly_list_result.push_back(t_first);iter_first+;elseif(t_second.expt_first.exp)m_poly_list_result.push_back(t_second);iter_second+;elset_temp.coef=t_first.coef+t_second.coef;t_temp.exp=t_first.exp;m_poly_list_result.push_back(t_temp);iter_first+;iter_second+;for(;iter_first!=m_poly_list_first.end();iter_first+)m_poly_list_result.push_back(*iter_first);for(;iter_second!=m_poly_list_second.end();iter_second+)m_poly_list_result.push_back(*iter_second);/乘法函数,用以作多项式乘法voidPoly_multi()listpoly_list_result;list:iteratoriter_first=m_poly_list_first.begin();for(;iter_first!=m_poly_list_first.end();iter_first+)listpoly_list_temp;/用以存储多项式的中间运算结果list:iteratoriter_second=m_poly_list_second.begin();for(;iter_second!=m_poly_list_second.end();iter_second+)termt_temp;/用以存储项的中间运算结果termt_first=(term)*iter_first;termt_second=(term)*iter_second;/此处实现多项式项的相乘t_temp.coef=t_first.coef*t_second.coef;/系数相乘t_temp.exp=t_first.exp+t_second.exp;/指数相加poly_list_temp.push_back(t_temp);/此处调用私有成员函数Poly_add()poly_list_result=Poly_add(poly_list_temp,poly_list_result);/将运算结果赋值给私有数据成员,用以输出m_poly_list_result=poly_list_result;/测试函数intmain()cout*本程序实现多项式的加法与乘法*;coutendl;PolyArithpoly_a;poly_a.Poly_inpu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲乙合作开公司合同范本
- 空调保养维修协议合同书
- 烟酒货架转让协议书模板
- 村委临时用工劳务协议书
- 瑜伽老师安全协议书范本
- 电力照明工程承包协议书
- 自制造跑车出售合同范本
- 空调排风管清洗合同范本
- 离婚房屋公证合同协议书
- 渔网机租赁合同协议范本
- 老年骨质疏松症
- 干部履历表(中组部1999年版)A4
- 大数据产品经理招聘面试题与参考回答(某大型央企)
- 严重精神障碍患者管理服务规范培训课件
- DB34T 4793-2024 涉及人的生物医学研究伦理审查规范
- DZ∕T 0275.2-2015 岩矿鉴定技术规范 第2部分:岩石薄片制样(正式版)
- 汉密尔顿抑郁和焦虑量表
- 临床试验方案偏离处理流程
- 国家通用盲文入门智慧树知到期末考试答案2024年
- 农副产品购销合同完整版
- 住院患者的护理需求课件
评论
0/150
提交评论