01/10/2018, 13:26

Chuyển biểu thức về hậu tố và tiền tố

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();
}		

}

Tên Gì Cũng Được viết 15:32 ngày 01/10/2018

Cho ví dụ và kết quả mong muốn đi bạn

mitomchua viết 15:32 ngày 01/10/2018

đề bài là nhập biểu thức kiểu xâu, chuyển thành hậu tố và tiến tố và tính giá trị biểu thức bác ạ. Phần hậu tố thì em làm được như trên, còn phần tiền tố thì chưa biết làm ntn ạ

Bài liên quan
0