两个一元多项式相加c版_第1页
两个一元多项式相加c版_第2页
两个一元多项式相加c版_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构实验报告两个一元多项式相加一、 实验题目:两个一元多项式相加二、实验内容:根据所学的数据结构中线性结构(线性表)的逻辑特性和物理特性及相关算法,应用于求解一个具体的实际问题两个多项式相加三、设计思想:(1)建立两个顺序列表,分别用来表示两个一元多项式;顺序列表奇数位,存储该多项式的系数;顺序列表的偶数位,存储该相应多项式的指数。(2)用成员函数merg(qList<Telem>&I2)实现两多项式的相加。实现的大致方法为:比较第二个多项式列表与第一个多项式列表的偶数位的数值大小(指数),如果相同,则将他们的前一位数(系数)相加;如果不同,就将他的前一位数(系 数)及

2、它自己(指数)插入第一个多项式列表的后面。(3)建立函数shu(double a,int j)实现多项式的输入。四、源程序代码#include "stdafx.h"#includeviostream>using namespace std;templatevclass Telem>class Listprivate:Telem * elem;int curlen;int maxlen;public:List(int maxsz=100):maxlen(maxsz)curlen=0;elem=new Telemmaxlen;List(Telem a|,int n,

3、int maxsz=100):maxlen(maxsz)curlen=n;elem=new Telemmaxlen;for(int i=O;ivn;i+)elemi=ai;List()delete elem;Telem gete(int i)if(i>=1 &&iv=curlen)return elemi-1;else return NULL;;int leng()return curlen;ListvTelem >&merg(List<Telem >&l2);声明两多项式相加的成员函数;templatevclass Telem>L

4、istvTelem >&List<Telem>:merg(List<Telem >&l2)两多项式相加的成员函数的实现int i,j,m,n,k(O);m=curlen;n=l2.curlen;if(m+nv=maxlen)for(i=0;ivn/2;i+)for(j=0;jvm/2;j+)if(elem2*j+1=l2.elem2*i+1)k+;elem2*j+=l2.elem2*i;break;if(j=m/2)elemm+2*(i-k)=l2.elem2*i;elemm+2*(i-k)+1=l2.elem2*i+1;curlen=m+n-2*

5、k;return *this;void fun(double a,int j)该函数实现:输入 2j个double型的数,并将其存储到数组中 int i;for(i=0;ivj;i+)double m,n;coutvv"请输入第"vvi+lvv"项的系数和指数:"cin>>m>>n;a2*i=m;a2*i+1=n;void main()int i,j,k;coutvv"第一个多项式的个数cin>>j;double *a=new double2*j; fun(a,j);coutvv"第二个多项式的个数

6、为cin>>k;double *b=new double2*k;shu(b,k);Listvdouble>s1(a,2*j);Listvdouble>s2(b,2*k);s1.merg(s2);coutvv"二个多项式相加结果为:”;for(i=1;iv=s1.leng()/2;i+)用for循环将这二个多项式结果输出 cout«s1.gete(2*i-1)vv"XA"vvs1.gete(2*i); if(i!=s1.leng()/2)coutvv"+"coutvvendl;回五、程序运行结果截图rsw C:Windowssystem ?!.exe3795+12XA7+2XA3+lX4 6.2 4 6 15毅魏 5 a &HES : ylrmmAnTvlnTvlrn 2 MrT勺扌扌扌扌4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论