我想實現前綴中綴在c + +,這就是我到目前爲止。輸入應該是例如這樣的事情:前綴中的堆棧
/7+23
而且輸出繼電器:
7/(2+3) or (7/(2+3))
而是我得到:
(/)
這是我寫到目前爲止代碼:
void pre_to_in(stack<char> eq) {
if(nowe.empty() != true) {
char test;
test = eq.top();
eq.pop();
if(test == '+' || test == '-' || test == '/' || test == '*') {
cout << "(";
pre_to_in(eq);
cout << test;
pre_to_in(eq);
cout << ")";
} else {
cout << test;
}
}
}
// somewhere in main()
char arr[30];
stack<char> stosik;
int i = 0;
cout << "write formula in prefix notation\n";
cin >> arr;
while(i < strlen(arr)) {
stosik.push(arr[i]);
i++;
}
pre_to_in(stc);
這是功課嗎?如果是這樣,請將其標記爲。 – 2009-12-09 22:39:02
感謝您先嚐試解決問題,然後向我們展示您擁有的所有信息。 *謝謝。* – GManNickG 2009-12-09 22:39:17
你的意思是按價值複製,還是忘記了&,即: pre_to_in(堆棧&eq)? –
Mic
2009-12-09 22:41:52