编写程序实现多项式求和Word格式文档下载.docx

上传人:b****6 文档编号:21836903 上传时间:2023-02-01 格式:DOCX 页数:11 大小:16.28KB
下载 相关 举报
编写程序实现多项式求和Word格式文档下载.docx_第1页
第1页 / 共11页
编写程序实现多项式求和Word格式文档下载.docx_第2页
第2页 / 共11页
编写程序实现多项式求和Word格式文档下载.docx_第3页
第3页 / 共11页
编写程序实现多项式求和Word格式文档下载.docx_第4页
第4页 / 共11页
编写程序实现多项式求和Word格式文档下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

编写程序实现多项式求和Word格式文档下载.docx

《编写程序实现多项式求和Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《编写程序实现多项式求和Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。

编写程序实现多项式求和Word格式文档下载.docx

if(n==0||node[1].coef==0)

0"

for(i=1;

i<

=n;

i++)

if(i!

=1&

&

node[i].coef>

0)

+"

node[i].coef<

x^"

node[i].exp;

}

endl;

intsort(Polynode[],intn)//排序函数,合并同指数项去除0系数项

inti,j,k,t;

Polynodet[1];

=n-1;

i++)//排序

for(j=i+1;

j<

j++)

if((node[i].exp)>

(node[j].exp))

nodet[0]=node[i];

node[i]=node[j];

node[j]=nodet[0];

i++)//合并同类项

if(node[i].exp==node[j].exp)

{

node[i].coef=node[i].coef+node[j].coef;

for(k=j;

k<

k++)

node[k]=node[k+1];

n--;

j--;

if(node[i].coef==0)

for(t=i;

t<

t++)

node[t]=node[t+1];

returnk=n;

voidcreat(Polynode[],intn)//创建函数

请依次输入每一项的系数指数:

cin>

>

void 

addpoly(Polynode1[],Polynode2[],intn1,intn2)//相加函数

for(i=n1+1;

=n1+n2;

node1[i]=node2[i-n1];

voidmain()//主函数

intn,p,a,b;

Polynode1[N],node2[N];

请输入第一个多项式:

请输入多项式的项数(小于30):

n;

creat(node1,n);

a=p=sort(node1,n);

print(node1,p);

请输入第二个多项式:

creat(node2,n);

b=p=sort(node2,n);

print(node2,p);

相加后:

addpoly(node1,node2,a,b);

p=sort(node1,a+b);

运行界面:

方法二:

iostream>

usingnamespacestd;

#defineN30

intmain()

inta[N]={0},b[N]={0},c[N]={0},n,i;

请输入第一个多项式的最大指数:

请输入第一个多项式的系数:

for(i=0;

i++)

a[i];

请输入第二个多项式的最大指数:

请输入第二个多项式的系数:

b[i];

多项式之和为:

=N;

c[i]=a[i]+b[i];

N;

if(c[i]!

=0)

if(i==0)

c[0]<

0;

else

if(c[i]>

c[i]<

i;

方法三:

#defineMax20

typedefstruct

}poly[Max];

structPolyNode

PolyNode*next;

};

classPoly

private:

PolyNode*head;

public:

Poly();

~Poly();

voidcreate(polya,intn);

voidoutput();

voidsort();

//多项式结点非降序排序

voidadd(PolyL);

Poly:

:

Poly()

head=newPolyNode;

head->

next=NULL;

~Poly()

PolyNode*p;

while(head)

p=head;

head=head->

next;

deletep;

head=NULL;

voidPoly:

create(polya,intn)

PolyNode*s,*r;

r=head;

s=newPolyNode;

s->

coef=a[i].coef;

exp=a[i].exp;

r->

next=s;

r=s;

sort()

PolyNode*p,*q,*r;

p=head->

if(p)

r=p->

p->

p=r;

while(p)

q=head;

while(q->

next&

q->

next->

exp<

exp)

q=q->

next=q->

next=p;

output()

coef<

"

p=p->

add(PolyL)

floatsum;

PolyNode*pa,*pb,*qa,*qb;

pa=head;

qa=pa->

pb=L.head;

qb=pb->

while(qa&

qb)

if(qa->

qb->

pa=qa;

qa=qa->

elseif(qa->

exp>

pb->

next=qb->

next=qa;

pa->

next=qb;

pa=qb;

sum=qa->

coef+qb->

coef;

if(sum==0)

next=qa->

deleteqa;

deleteqb;

qa->

coef=sum;

if(qb)

voidmain()

PolyA,B;

polya={{1,2},{2,0},{3,1},{4,5},{6,8}};

polyb={{12,2},{-3,5},{22,7},{-5,1}};

A.create(a,5);

B.create(b,4);

原多项式A为:

A.output();

原多项式B为:

B.output();

A.sort();

B.sort();

有序多项式A为:

有序多项式B为:

A.add(B);

和多项式为:

继续阅读

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1