我正在研究一个项目,该项目要求我接受以反转波兰表示法写入的字符串并使用堆栈对其进行评估。我应该穿过字符串,如果元素是一个数字,我会继续浏览字符串,直到到达空间,然后使用atoi将字符串的那部分转换为整数。然后我将该整数推入堆栈。我的代码适用于此,但是,我不确定如何继续下一个数字后面的空格。这是for循环我到目前为止:C++反向波兰语表示法堆栈
for (unsigned int i = 0; i < a.size(); i++)
{
int b;
char c[a.size()];
while (isdigit(a[i]))
{
cout << a[i] << endl;
c[i] = a[i];
b = atoi(c);
i++;
}
cout << b << endl;
stack.push(b);
}
这总是推的第一个整数压入堆栈,即使有空间经过。我需要添加什么以继续将整数推入堆栈之后?谢谢你的帮助。
你能发表所有的代码? – erip