问题遇到的现象和发生背景
在方程里的解决办法
问题相关代码,请勿粘贴截图
void js()
{
int ac;
ac=1;
while(Find_js()<Find('=',suanshi2))//左边的小算式拆解工作
{
int x=Find_js();
if(suanshi2[x]=='+') left1[ac].ck=1;
if(suanshi2[x]=='-') left1[ac].ck=2;
if(suanshi2[x]=='*') left1[ac].ck=3;
if(suanshi2[x]=='/') left1[ac].ck=4;
suanshi2.erase(x,1);
int n=Find_js()-1;
for(int i=0;i<=n;i++)
{
left1[ac].number[i-x]=suanshi2[i];
/************复制number**************/
}
}
}
struct eq//小算式
{
int ck;
string number;//符号,数字
}left1[100];
eq right1[100];
int Find_js()//查找
{
for (long long i = 0; i < suanshi2.size();i++)
{
if (suanshi2[i] == '+'||suanshi2[i] == '-'||suanshi2[i] == '*'||suanshi2[i] == '/')
{
return i;
}
}
return -1;
}
suanshi2是string类型
运行结果及报错内容
输出乱码
我的解答思路和尝试过的方法
这个方程首先是在第一个位置插入一个+,然后开始运行js。
我想要达到的结果
假如输入x+123=124
我希望left[1].number里是X