📄 polynomial.cpp
字号:
#include "iostream.h"
#include "Polynomial.h"
#define maxTerms 1000
Polynomial::Polynomial() //构造函数
{
start=free;
finish=start-1;
}
void Polynomial::NewTerm(float c,int e) //把一个新的项加到多项式中
{
if(free>=maxTerms)
{
cout<<"Too many terms in polynomials"<<endl;
return;
}
termArray[free].coef=c;
termArray[free].exp=e;
free++;
}
Polynomial Polynomial::Add(Polynomial B) //返回两个多项式A(x){在*this中}与B(x)的和
{
Polynomial C;
int a=start; //a,b分别为两多项式检测指针
int b=B.start;
C.start=free; //c为结果多项式的存放指针
float c;
while(a<=finish&&b<=B.finish)
{ //比较对应项的指数
if(termArray[a].exp==termArray[b].exp) //相等,系数相加
{
c=termArray[a].coef+termArray[b].coef;
if(c) //和不为0,建立新项
{
NewTerm(c,termArray[a].exp);
}
a++;
b++;
break;
}
else if(termArray[a].exp>termArray[b].exp) //不等,建立新项
{
NewTerm(termArray[b].coef,termArray[b].exp);
b++;
break;
}
else //不等,建立新项
{
NewTerm(termArray[a].coef,termArray[a].exp);
a++;
break;
}
}
for(;a<=finish;a++) //加A(x)中剩余的项
{
NewTerm(termArray[a].coef,termArray[a].exp);
}
for(;b<=B.finish;b++) //加B(x)中剩余的项
{
NewTerm(termArray[b].coef,termArray[b].exp);
}
C.finish=free-1;
return C;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -