Hỏi cách nhận các toán hạng và toán tử khi đọc từ tập tin

Cho mình hỏi : Cách nhận các toán hạng và toàn tử khi đọc từ tập tin ?
Vd: file a có nội dung : (a + b ) - c%2

Khi đó mình nhập dữ liệu từ file. Vậy làm sao để máy tính nhận ra đâu là toán tử đâu là toán hạng để tiến hành tính toán ?.
Mình có nghe là dùng Ký pháp Ba Lan . Nhưng nó dài và hơi phức tạp.
Không biết là mình có thể dùng cách nào khác không ?. Và nếu chưa có thì cho mình xin code của Ký pháp Ba Lan nha :smile:
Tks ạ :3

lấy ký tự rồi dùng lệnh if thôi

2 Likes

Mình chưa rõ lắm :wink:
Ví dụ : a+b . Nếu a[k] == ‘+’ thì tong = a[k-1] + a[k+2] .
Có phải ý tưởng như vậy không ?.

Nhưng nếu a+b/c thì sẽ dùng k được rồi bởi vì các lệnh if cho từng toán hạng nằm rời nhau .
Còn nếu lồng vào nhau thì ứng với mỗi phép kiểm tra thì lại dùng 1 cơ số những cái if lồng nhau, khá là tốn kém .

Demo giúp mình nhé :smiley: . Mình gà qá >.<

Nên dùng ký pháp Balan. Còn không thì phải xét, nhân chia trước, cộng trừ sau, trong ngoặc thực hiện trước…

1 Like

Bạn giúp mình cái code theo Ký pháp Ba Lan đi :slight_smile: .

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