一元多项式的运算 实验报告和代码

一元多项式的运算 实验报告和代码

ID:47106357

大小:76.00 KB

页数:14页

时间:2019-08-04

一元多项式的运算 实验报告和代码_第1页
一元多项式的运算 实验报告和代码_第2页
一元多项式的运算 实验报告和代码_第3页
一元多项式的运算 实验报告和代码_第4页
一元多项式的运算 实验报告和代码_第5页
资源描述:

《一元多项式的运算 实验报告和代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一.问题描述:设Pn(x)和Qm(x)分别两个一元多项式。试编写程序实现一元多项式的加法运算。二.需求分析:1.本程序需要基于线性表的基本操作来实现一元多项式的加法,也可以用数组实现。2.两个多项式都有键盘输入相应的系数和指数。3.//第一个多项式为9x15+7x8+5x3+3x输入4//表示第一个多项式的项数9,15(回车)//表示9x157,8(回车)5,3(回车)3,1(回车)输出9x^15+7x^8+5x^3+3x^1//第二个多项式为-7x8+6x3+2输入3//表示第二个多项式的项数6,3(回车)//表示9x15-7,8(回车)2,0(回车)输出-7x^8+6x^3+2x^

2、0求和结果9x^15+11x^3+3x^1+2x^0三.概要设计抽象数据类型:为实现上述程序的功能,应以整数存储用户的输入,以及计算的结果。实现多项式的运算,利用数组的方式需开辟一个二维数组,利用链表的方式须创造两个链表。算法的基本思想:数组实现:定义一个结构体数组,p存储系数,q存储指数。分别输出两次输入的多项式。将两次输入的多项式的指数按从大到小的顺序进行排列,同时相应的系数要进行交换。输出时如果进行判断。如果当前该项与下一项的的系数相同,将两项系数相加后输出,并跳过下一项。如果不相等,直接输出。输出时需注意的问题:当系数为0时,该项不输出当系数为负数时,不要再在前面输出+。链表实

3、现:定义一个结构体,分别用exp,coef来存储系数和指数,同时在结构体里面定义一个该结构类型指针。对输入的第一个多形式和第二个多项式分别构建一个链表(按指数的大小)输出时,通过比较两个链表当前位置的指数大小,相同,系数相加后输出,两个链表同时向前推进。如果其中一个大,只输出较大项,同时将其推进。程序的流程:(1)输入模块:完成两个多项式的输入。(2)处理模块:将多项式按其指数大小进行排列。(3)输出模块:输出合并后的多项式。四.详细设计:算法的具体步骤:数组方法structcode{intp,q;}a[1000],b[1000];//结构体数组,可以用二维数组代//替for(i=0;

4、ia[i].q){temp=a[j].q;//指数排序a[j].q=a[i].q;a[i].q=temp;temp=a[j].p;//系数跟着变化a[j].p=a[i].p;a[i].p=temp;}}//对输入的指数进行排序,相应的系数跟着变化cout<0)elseif(a[i].p<0)cout<

5、/出,然后类似于上面,对第二个多项式进行相应的操作。for(i=0;ia[i].q){temp=a[j].q;a[j].q=a[i].q;a[i].q=temp;temp=a[j].p;a[j].p=a[i].p;a[i].p=temp;}}//按指数由大到小进行排列if(a[0].q!=a[1].q){cout<

6、else{cout<0)cout<<"+"<0)cout<<"+"<

7、f((a[i].p+a[i+1].p)<0)cout<0)cout<<"+"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。