Hỏi về chuỗi và phép toán

Chào mọi người, mình xin phép đăng bài hỏi về chuỗi trong C ++, vấn đề em thắc mắc là có cách nào để mình có thể nhập chuỗi kiểu như: " 1 + 3 " thì output sẽ là 4 không ạ :smiley:

Bạn tách chuỗi đấy ra rồi xử lý từng ký tự, phân loại cái nào là số, cái nào là phép toán, cái nào không phải. rồi tính và trả về kết quả.

Cảm ơn bạn đã trả lời ^^ , nhưng thuật toán để biến 1 ký tự thành toán tử , hay 1 ký tự thành 1 số , thì mình chưa nghĩ ra, bạn có thể gợi ý cho mình 1 chút không ? :smiley:

về ký tự thành số thì trong C có hàm sẵn rồi mình ko nhớ rõ, bạn thử search google xem sẽ thấy ngay. còn về ký tự thành toán tử thì ko phải vậy mà ý mình là bạn so sánh xem ký tự đấy có phải toán tử hay ko bằng cách so sánh mã ASCII của nó :

cách đơn giản nhất là bạn so sánh mã ascii xem cái nào là toán tử cái nào là số cái nào ko phải.:
http://diendan.congdongcviet.com/threads/t46387::xuat-ma-ascii-cua-tung-ky-tu-trong-cpp.cpp

chuyển từ kí tự sang số thì mình sẽ thao tác với file , còn chuyển từ kí tự sang toán tử thì nên so sánh mã ascII

Cái này cũng hơi phức tạp. Sinh cây nhị phân. Dính thêm mấy phép toán có ngoặc cũng phải nghĩ đây…

1 Like

Trừ khi bạn code python ra, còn lại thì bạn phải code RPN thì mới input “1+3” ra 4 được.
Here: RPN

1 Like

bài này bạn phải xử lý biểu thức, nó liên quan đến biểu thức trung tố, tiền tố, hậu tố.
GG để biết thêm chi tiết :smiley: Have fun !:ok_hand:

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