01/10/2018, 09:44

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 ạ

chazo1994 viết 11:48 ngày 01/10/2018

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ả.

Doommm viết 11:55 ngày 01/10/2018

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 ?

chazo1994 viết 12:00 ngày 01/10/2018

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ó :

vi.wikipedia.org

ASCII

ASCII (American Standard Code for Information Interchange - Chuẩn mã trao đổi thông tin Hoa Kỳ), thường được phát âm là át-xơ-ki, là bộ ký tự và bộ mã ký tự dựa trên bảng chữ cái La Tinh được dùng trong tiếng Anh hiện đại và các ngôn ngữ Tây Âu khác. Nó thường được dùng để hiển thị văn bản trong máy tính và các thiết bị thông tin khác. Nó cũng được dùng bởi các thiết bị điều khiển làm việc với văn bản. Cũng như các mã máy tính biểu diễn ký tự khác, ASCII quy định mối tương quan giữa kiểu bit số ...

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

2D_team_free_online_Education viết 11:47 ngày 01/10/2018

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

Trần Hoàn viết 11:53 ngày 01/10/2018

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…

HK boy viết 11:46 ngày 01/10/2018

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

James viết 11:46 ngày 01/10/2018

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 Have fun !

Bài liên quan
0