📄 polynomial.cpp
字号:
#include"Polynomial.h"
#include<iostream.h>
Polynomial::Polynomial(int n)
{
MaxTerms=n;
start=0;
finish=0;
free=0;
termArray[0].exp=0;
termArray[0].coaf =0;
}
int Polynomial::operator!()
{
if(start==finish&&termArray[start].coaf==0)
return 0;
else
return 1;
}
float Polynomial::Coaf (int e)
{
for(int i=0;i<finish;i++)
{
if(termArray[i].exp==e)
return termArray[i].coaf;
}
cout<<"Exp e haven't coaf."<<endl;
return -1;
}
int Polynomial::LeadExp()
{
return termArray[finish-1].exp;
}
void Polynomial::NewTerm(float c,int e)
{
if(finish<MaxTerms)
{
for(int i=start ;i<=finish ;i++)
{
if(termArray[i].exp>e)
{
finish++;
for(int j=finish;j>i;j--)
{
termArray[j].exp=termArray[j-1].exp;
termArray[j].coaf=termArray[j-1].coaf;
}
free++;
termArray[j].exp=e;
termArray[j].coaf=c;
return ;
}
if(termArray[i].exp==e||termArray[i].exp==0&&termArray[i].coaf==0)
{
termArray[i].coaf+=c;
termArray[i].exp=e;
return ;
}
}
finish++;
termArray[finish].exp=e;
termArray[finish].coaf=c;
}
else
cout<<"Out of Range"<<endl;
}
Polynomial Polynomial::Add(Polynomial poly)
{
for(int i=poly.start;i<=poly.finish;i++)
NewTerm(poly.termArray[i].coaf,poly.termArray[i].exp);
return *this;
}
float Polynomial::Eval(float x)
{
float n,m;
m=0;
for(int i=start;i<=finish;i++)
{
n=termArray[i].coaf;
for(int j=termArray[i].exp;j>0;j--)
n*=x;
m+=n;
}
return m;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -