Chào mọi người, em mới học C++ và có bài tập là chuyển biểu thức về dạng tiền tố và hậu tố. Em đã chuyển sang đươc hậu tố rồi ạ, còn tiền tố thì chưa biết làm như nào. Mong mọi người chỉ bảo.
Và đây là đoạn code chuyển sang hậu tố của em:
void hauTo(){ // chuyen bthuc trung to sang hau to.
stack<char> s;
string str, str1 = "";
int i = 0;
cout<<"Nhap bieu thuc: ";
getline(cin, str);
while( i < str.length() ){
char c = str.at(i);
if( c != ' ' ){
if( c - '0' >= 0 && c - '0' <= 9 || isalpha(c) ) str1 += c;
else{
cout<< str1 << " ";
str1 = "";
if( c == '(') s.push(c);
else{
if( c == ')') {
while( s.top()!= '('){
cout<< s.top();
s.pop();
}
if(s.top() == '(' ) s.pop();
}
else{
while( !s.empty() && uT(c) <= uT(s.top())){
cout<< s.top();
s.pop();
}
s.push(c);
}
}
}
}
i++;
}
if( str1 != "" ) cout<< str1 << " ";
while(!s.empty()){
if(s.top()!= '(') cout<< s.top();
s.pop();
}
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?