kết quả từ 1 tới 3 trên 3

Chuyển đổi biểu thức trung tố sang tiền tố sử dụng cây nhị phân

  1. #1
    Ðến Từ
    Hà Nội
    Thành Viên Thứ: 274548
    Bài gửi
    22

    Post Chuyển đổi biểu thức trung tố sang tiền tố sử dụng cây nhị phân

    Quick reply to this message Trả lời       


  2. #2
    Ðến Từ
    Hà Nội
    Thành Viên Thứ: 274548
    Bài gửi
    22

    Reply: Viết giúp mình chương trình c++ cho bài cấu trúc dữ liệu này với...

    ai biết viết giúp mình với

  3. #3
    Ðến Từ
    Hà Nội
    Thành Viên Thứ: 247344
    Giới tính: Nữ
    Bài gửi
    9.959

    Reply: Chuyển đổi biểu thức trung tố sang tiền tố sử dụng cây nhị phân

    Ca này khó rồi, có bài ngược lại từ tiền tố sang hậu tố thôi nhe bạn
    Mã:
    #include<iostream>
    using namespace std;
     
    #define MAX 100
    int count=1;
    char e[MAX],b[2*MAX];
     
    bool isOperator(char ch){
        return ch=='+' || ch=='-' || ch == '*' ||
            ch == '/' || ch == '$' || ch == '%';
    }
     
    void left(char,int);
    void right(char,int);
     
    void left(char op,int i){
     
        if(isOperator(op)){
     
            b[2*i]=op;
            count++;
            left(e[count],2*i);
            right(e[count],2*i);
        }
        else
        {
            b[2*i]=op;
            count++;
        }
    }
     
    void right(char op,int i){
     
        if(isOperator(op)){
     
            b[2*i+1]=op;
            count++;
            left(e[count],2*i+1);
            right(e[count],2*i+1);
        }
        else
        {
            b[2*i+1]=op;
            count++;
        }
    }
     
    void postorder(int i){
        if(isOperator(b[i]))postorder(2*i);
        if(isOperator(b[i]))postorder(2*i+1);
        cout << b[i] ;
     
    }
     
    int main(){
     
        cout << "Enter a prefix : ";
        cin >> e;
        int len=strlen(e);
     
        count=0;
        b[1]=e[count];
     
        count++;
        left(e[count],1);
        right(e[count],1);
     
        postorder(1);
     
        return 0;
    }
    Thực sự thì mình chưa thấy ai lại hiền lành, dễ thương và tốt bụng như bạn Khách vậy