Hỏi về cây biểu thức C++

_

Bài viết hỏi thuật giải chứ không nhờ giải,đừng có gắn cờ em á :smile: :smile: :smile:

_
Lại một lần nữa phải làm phiền mọi người ,đang làm cây biểu thức dạng như thế này ( mình làm trên console thôi chứ không như hình dưới nhé , minh họa thôi ) :slight_smile:

Yêu cầu như này:
1.Nhập vào một biểu thức số học đơn giản
2.Biểu diễn biểu thức số học lên cây nhị phân.
3.Kiểm tra cú pháp của biểu thức.
4.Xuất ra biểu thức số học đó dưới dạng: tiền tố, trung tố, hậu tố ( có thể làm được )
5.Tính giá trị của biểu thức ( có thể làm được )

Mình bí thuật giải quá chưa biết làm như nào,đang có ý tưởng như này không biết khả dụng không
-Cho nhập vào và lưu dữ liệu nhập vào dạng string Nhap;
-Làm hàm xóa bỏ khoảng trắng trong string Nhap ( nếu có )
-Làm hàm kiểm tra là toán tử ( + - * / ) hoặc là số
-Nếu là số thì gán vào nút lá ( p->Left==NULL && p->Right==NULL )
-Nếu là toán tử thì gán vào các nút >1 con.
Tới đây thì " Lý Bí " rồi,mọi người giúp mình với

Mình xin chân thành cảm ơn

Hi Nguyễn Văn Vương
Cái này code có nhiều rồi.

Thớt thử xài opstack (stack chứa toàn toán tử) rồi làm vài ví dụ cụ thể xem sao :slight_smile: nếu cho + với std::string nữa thì dễ rồi.

“Ma” hơn là lật ngược infix, đổi ra postfix (dễ hơn :slight_smile: ) rồi lật ngược lại (!) ra suffix.

2 Likes

có nhiều thật nhưng ít ai giải thích lắm,toàn code thôi,mà ngồi coi code để hiểu thì…em gà lắm :))

Cảm ơn bạn đã góp ý,chúc bạn sức khỏe

Mình k có ý tưởng gì cả,lằng nhằng sao ấy

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