Lưu giá trị vào biến x trong dạng toán hậu tố

Yêu cầu viết chương trình tính giá trị của các biểu thức hậu tố.
Ví dụ: cho x = -(1+2)+3 ; y = x + 1 -3 ; z = x + y ;
Mình đã viết được code tính giá trị của viểu thức hậu tố nhưng không biết làm sao để lưu giá trị vào x

Bạn sử dụng ngôn ngữ nào?

1 Like

Mình đang sử dụng ngôn ngữ C++

Bạn đưa giá trị vào map.

map<string, int> variables;
variables["x"] = evaluate("-(1+2)+3"); // giả sử evaluate là hàm tính giá trị
variables["y"] = evaluate("x + 1 - 3");

Trong hàm evaluate có

if (toán_hạng nằm trong variables, tức nó là 1 biến)
    // tính toán với variables[toán_hạng]
3 Likes

thế nếu người nhập nhập vảo các biểu thức x,y,z thì sao bạn

Thì bạn phải tách xâu ra thôi.

Ví dụ,

x = 1 + 2

Ta tách thành 2 phần: biến (x) và phép tính (1 + 2). Sau đó thực hiện như cmt trên của mình.

2 Likes

Ok bạn, mình cảm ơn bạn nhiều

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