📄 多项式.cpp
字号:
#include<iostream>
using namespace std;
struct term
{
int coef;
int exp;
void init(int c,int e){coef=c;exp=e;};
};
class polynomial
{
friend polynomial & operator + (polynomial &,polynomial &);
private:
linklist<term>poly;
};
friend polynomial & operator + (polynomial & a,polynomial & b)
{
node<term> *pa,*pb,*pc,*p;
term at,bt;
pc=a.poly.Reset(0);
c=pc;
p=b.poly.Reset(0);
pa=a.poly.Reset(1);
pb=b.poly.Reset(1);
delete p;
while(!a.poly.EndofList()&&!b.poly.EndofList())
{
at=pa->data;
bt=pb->data;
switch(compare(at.exp,bt.exp))
{
case'==':
at.coef=at.coef+bt.coef;
p=pb;
pb=b.poly.Next();
delete p;
if (abs(at.coef)<0.0001)
{
p=pa;pa=a.poly.Next();delete p;
}
else
{
pa->data=at;
pc->setnext(pa);
pc=pa;pa=a.poly.Next();
}
break;
case'>':
pc->setnext(pa);
pc=pa;
pa=a.poly.Next();
break;
case'<':
pc->setnext(pb);
pc=pb;
pb=b.poly.Next();
}
}
if(!a.poly.EndofList())pc->setnext(pa);
else pc->setnext(pb);
return c;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -