📄 11_3_2.cpp
字号:
#include <iostream.h>
#include <stdlib.h>
#include "Expression.h"
#define MAX_SIZE 100
void main()
{
cout << "对于式子f1,我们定义指数域为:(输入#结束)" << endl;
int exp[MAX_SIZE];
char c[8];
int i = 0;
while (c[0] != '#')
{
cin >> c;
exp[i] = atoi(c);
i++;
}
int n1 = i - 1;
cout << "对于式子f1,我们定义系数域为:(输入#结束)" << endl;
int coef[MAX_SIZE];
i = 0;
c[0] = '1';
while (c[0] != '#')
{
cin >> c;
coef[i] = atoi(c);
i++;
}
cout << "对于式子f2,我们定义指数域为:(输入#结束)" << endl;
int exp2[MAX_SIZE];
i = 0;
c[0] = '1';
while (c[0] != '#')
{
cin >> c;
exp2[i] = atoi(c);
i++;
}
int n2 = i- 1;
cout << "对于式子f2,我们定义系数域为:(输入#结束)" << endl;
int coef2[MAX_SIZE];
i = 0;
c[0] = '1';
while (c[0] != '#')
{
cin >> c;
coef2[i] = atoi(c);
i++;
}
Expression p(coef, exp, n1);
Expression q(coef2, exp2, n2);
// 结果修改区域
while (!p.End() && !q.End())
{
if (p.GetCurrentNode()->exp < q.GetCurrentNode()->exp)
p.MoveNext();
else if (p.GetCurrentNode()->exp > q.GetCurrentNode()->exp)
{
Node *node = new Node;
node->coef = q.GetCurrentNode()->coef;
node->exp = q.GetCurrentNode()->exp;
p.InsertBefore(node);
q.Delete();
}
else
{
p.Merge(q.GetCurrentNode()->coef);
if (p.GetCurrentNode()->coef == 0)
p.Delete();
q.Delete();
}
}
if (!q.End())
{
p.InsertExpression(q.GetCurrentNode(), q.GetCurrentPreNode());
}
cout << "合并后的结果为:" << endl;
p.Print();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -