早教吧作业答案频道 -->其他-->
一元多项式简单的计算器(数据结构C++).只求大神写下减法代码.我已经给出了加法代码,在此基础.voidaddPoly(Polynomial&A,Polynomial&B){//A和B为多项式A(x)和B(x)头指针//利用两个多项式结点构成
题目详情
一元多项式简单的计算器(数据结构C++).只求大神写下减法代码.我已经给出了加法代码,在此基础.
void addPoly( Polynomial &A,Polynomial &B)
{ //A和B为多项式A(x)和B(x)头指针
//利用两个多项式结点构成“和多项式”,其头指针仍然为A
Polynomial pa=A; //指针pa始终指向qa的前驱结点
Polynomial qa=A->link;
Polynomial pb=B; //指针pb始终指向qb的前驱结点
Polynomial qb=B->link;
Polynomial temp;
while(qa&&qb)
{
if(qa->expexp) //第一种情况
{
pa=qa;
qa=qa->link;
}
else if(qa->exp>qb->exp) //第二种情况,将结点qb插入到qa之前
{
temp=qb->link;
pa->link=qb;
qb->link=qa;
pa=qb;
qb=temp; //在多项式链表B中移走了一个结点到A
pb->link=qb;
}
else //第三种情况
{ //指数相同,则系数相加
qa->coef=qa->coef+qb->coef;
if(qa->coef==0) //系数为0.删除结点qa
{
pa->link=qa->link;
delete qa;
qa=pa->link;
}
else //系数不为0,作为结果项保留
{
pa=qa;
qa=qa->link;
}
pb->link=qb->link; //无论系数是否为0,都删除结点qb
delete qb;
qb=pb->link;
}
}
if(qb)
pa->link=qb; //将结点qb链接在表A的后面
delete B; //释放表B的头结点所占空间
}//addPoly
void addPoly( Polynomial &A,Polynomial &B)
{ //A和B为多项式A(x)和B(x)头指针
//利用两个多项式结点构成“和多项式”,其头指针仍然为A
Polynomial pa=A; //指针pa始终指向qa的前驱结点
Polynomial qa=A->link;
Polynomial pb=B; //指针pb始终指向qb的前驱结点
Polynomial qb=B->link;
Polynomial temp;
while(qa&&qb)
{
if(qa->expexp) //第一种情况
{
pa=qa;
qa=qa->link;
}
else if(qa->exp>qb->exp) //第二种情况,将结点qb插入到qa之前
{
temp=qb->link;
pa->link=qb;
qb->link=qa;
pa=qb;
qb=temp; //在多项式链表B中移走了一个结点到A
pb->link=qb;
}
else //第三种情况
{ //指数相同,则系数相加
qa->coef=qa->coef+qb->coef;
if(qa->coef==0) //系数为0.删除结点qa
{
pa->link=qa->link;
delete qa;
qa=pa->link;
}
else //系数不为0,作为结果项保留
{
pa=qa;
qa=qa->link;
}
pb->link=qb->link; //无论系数是否为0,都删除结点qb
delete qb;
qb=pb->link;
}
}
if(qb)
pa->link=qb; //将结点qb链接在表A的后面
delete B; //释放表B的头结点所占空间
}//addPoly
▼优质解答
答案和解析
有了加法,减法还用写吗?
直接把参数B中的所有项的系数变作相反数,然后按加法处理
多一步转换而已.
直接把参数B中的所有项的系数变作相反数,然后按加法处理
多一步转换而已.
看了 一元多项式简单的计算器(数据...的网友还看了以下:
将直线方程ax+y+c=0化为点方向式方程和点法向式方程 2020-05-22 …
这一切特点都有一定的风格和手法,为匠师们所遵守,为人民所承认,我们可以叫它做中国建筑的“文法”。建 2020-06-17 …
what的用法1、我知道what有疑问代词,指示代词,关系代词,插入语等用法.但是我有点混“关系代 2020-07-20 …
下列句子中加点成语使用不恰当的一项是()A.中国文字和书法代表了民族的精神和文化的根.但在中小学基 2020-07-25 …
已知圆x∧2+y∧2–2x+2y=2,求过(–1,2)的切线方程这个点我算出在圆外,应该有两条切线 2020-08-01 …
一元多项式简单的计算器(数据结构C++).只求大神写下减法代码.我已经给出了加法代码,在此基础.v 2020-08-03 …
(7分)人类在新石器时代晚期开始利用天然金属,此后逐渐以矿石为原料冶铸铜器,中国古代还发明了火法炼铜 2020-11-06 …
(7分)人类在新石器时代晚期开始利用天然金属,此后逐渐以矿石为原料冶铸铜器,中国古代还发明了火法炼铜 2020-11-06 …
求直线3x+4y-1=0的点方向式方程和点法式方程. 2020-11-07 …
请教一个GMAT语法代词指代模糊的问题~关于代词指代模糊和优先指代有点搞不清:以下,今天看到manh 2020-12-14 …