?? 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 + -