资源简介
用类来定义单项式和多项式,再利用符号重载实现多项式的计算,包含详细代码,可参考。
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
//辅助函数
bool isDigit(const char& a){
if (a >= 48 && a <= 57) return true;
else return false;
}
int toDigit(const string& c){
stringstream a;
int b;
a< a>>b;
return b;
}
string getexpression(const string& expression){
int i=0len=expression.length();
while( expression[i] != ‘=‘ ){
i++;
}
return expression.substr(i+1len-i);
}
string getName(const string& expression){
int i=0;
while( expression[i] != ‘=‘ ){
i++;
}
return expression.substr(0i);
}
bool isRightfull(const string& expression){
int len=expression.length()-1;
int index=-1;
for(int i=len; i>=0;){
int a=0;
if( expression[i] != ‘)‘ ) return false;
else {
if( !isDigit(expression[i-1]) )
return false;
else{
while( isDigit(expression[i-a-1]) ){
a++;
}
}
if( index >= toDigit( expression.substr(i-aa) ) )
return false;
else index = toDigit( expression.substr(i-aa) );
if( expression[i-a-1] != ‘‘ ) return false;
else {
if( !isDigit(expression[i-a-2]) )
return false;
while( isDigit(expression[i-a-2]) ){
a++;
}
if ( toDigit( expression.substr(i-a-1a) ) == 0 )
return false;
if ( expression[i-a-2] == ‘-‘ ) a++;
if ( expression[i-a-2] != ‘(‘ ) return false;
}
}
i=i-a-3;
}
return true;
}
//单项式类
class Item{
private:
int coefficient;
int index;
public:
Item();
int getIndex() const;
int getCoefficient() const;
void setCoefficient(int a);
void setIndex(int a);
Item operator+(const Item& a);
Item operator-(const Item& a);
Item operator*(const int& a);
Item operator*(const Item& a);
int getValue(const int& a);
void show_Item();
};
Item::Item(){
index=0; coefficient=0;
}
int Item::getIndex() const{
return index;
}
int Item::getCoefficient() const{
return coefficient;
}
void Item::setCoefficient(int a){
coefficient=a;
}
void Item::setIndex(int a){
index=a;
}
Item Item::operator+(const Item& a){
Item b;
b.coefficient = a.coefficient + coefficient;
b.index = index;
return b;
}
Item Item::operator-(const Item& a){
Item b;
b.coefficient = coefficient - a.coefficient;
b.index = a.index;
return b;
}
Item Item::operator*(const int& a){
Item b;
b.coefficient = coefficient * a;
b.index = index;
return b;
}
Item Item::operator*(const Item& a){
Item b;
b.coefficient = coefficient * a.coefficient;
b.index = index + a.index;
return b;
}
int Item::getValue(const int& a){
return coefficient * pow( aindex );
}
void Item::show_Item(){
if( index == 0 ) cout< else {
if( index != 1 ){
if( coefficient == 1 ) cout<<“x^“< else {
if( coefficient == -1 ) cout<<“-x^“< else cout< }
}
else
- 上一篇:实序列FFT算法的C语言实现
- 下一篇:icp C++实现包含测试数据
相关资源
- icp C++实现包含测试数据
- 诊所信息管理系统C++课程设计报告
- DICOM医学图像格式转换的C++实现
- C++代码提取LBP特征
- 个人银行账户管理程序C++
- 编写并调试一个模拟的进程调度程序
- C++编写的有界面的扫雷游戏
- 遗传算法.cpp
- C++编写的第三人称视角小球Ploygon风格
- C++ Primer Plus第6版源码.zip
- 小甲鱼98集全套数据结构视频
- c++制作黄金矿工
- C/C++:Windows编程—代码获取本地所有
- c++ 课程设计报告多个题目合集 完整
- C++课设高校人员信息管理系统
- c++实现哈夫曼树的编译码
- (严蔚敏)数据结构视频教程C语言版
- c++24期网盘链接
- C++ Primer 第六版 书上程序及课后习题
- 集合的并交差运算
- 免费的LeetCode-cpp题解(C++版本)大全
- Ubuntu下的扩展卡尔曼滤波EKF程序(C
- 2019华为软件精英挑战赛C++ 源码实现
- 数据结构c语言版期末考试复习题库
- 基于遗传算法的带容量限制的P-media
- C++实现小游戏flappy bird
- C++builder实现计算器
- MFC 2010编写 C++ 求1元4次方程解,含1元
- c++版创建并输出二叉树完整代码
- c++练习题2015
评论
共有 条评论