實現多項式的輸入、輸出、加法、求導、求值。
using namespace std;
#include
#include
#include
#include
"stdio.h"
using namespace std;
struct linknode //多項式結點
};class poly //多項式類
poly(poly &p); //複製建構函式
poly &operator=(poly &p); //賦值函式
~poly()
int max1(); //返回最大指數
int length(); //返回多項式長度
void makeempty(); //清空鍊錶中的元素
void input(int flag); //輸入函式
void output(); //輸出函式
void operator+(poly &b);//多項式相加
void operator-(poly &b); //多項式相減
void operator*(poly &b); //多項式相乘
friend void der(poly l); //多項式導數
friend void cal(poly l,int z); //算值
};void cal(poly l,int z)
count1+=x;
p=p->
link;
}cout<}void poly::makeempty()
}poly::poly(poly &p)
}poly& poly::operator
=(poly &p)
return
*this;
}void poly::input(int flag)
if(b==-
11)
p->
link
=new linknode(a,b);
p=p->
link;
}}int poly::max1()
return ptr->e;
}int poly::length()
return count1;
}void poly::output()
else
}else
if(p1->a<
0)
p1=p1->
link;
while(p1!=
null)
else
if(p1->a==
1)
else
if(p1->a<
0)
p1=p1->
link;
}cout<}void poly::operator
+(poly &b)
pa=pa->
link;
pb=pb->
link;
}else
if(pa->e>pb->e)
else
}if(pa!=
null) ptr=pa;
else ptr=pb;
while(ptr!=
null)
temp.output();
}void poly::operator
-(poly &b)
pa=pa->
link;
pb=pb->
link;
}else
if(pa->e>pb->e)
else
}if(pa==
null)
else ptr=pa;
while(ptr!=
null)
temp.output();
}void poly::operator
*(poly &b)
pa=pa->link;
}for(int i=0; i<=max1; i++)
}delete
f; }
pc->link=null;
temp.output();
}void der(poly l)
p=p->link;
}temp.output();
}int main()
多項式的鍊錶實現
include include typedef struct pnode pnode,polylist void initpl polylist pl pl coe 0 pl exp 0 pl next null void insertafter polylist pl,polylist pd vo...
鍊錶實現多項式相加
均已除錯通過,編譯器為dev c 多項式相加程式,用鍊錶實現 係數 coefficient 指數exponent 多項式 multinomial include typedef struct lnode lnode,linklist 建立兩個鍊錶 int main while pr1 next pr...
鍊錶實現多項式相加
演算法attch c,e,d 建立乙個新結點,其係數 coef c 指數exp e 並把它鏈到 d 所指結點之後,返回該結點指標。polypointer attch int c int e polypointer d 演算法 padd 實現兩個多項式 a b 相加 c x a x b x polyp...