[問題] 我想做個能先計算括號及乘除的計算機

看板C_Sharp作者 (我很可愛)時間17年前 (2008/09/10 00:24), 編輯推噓3(3014)
留言17則, 5人參與, 最新討論串1/2 (看更多)
假設題目是這樣 12+3*5-(25-6*( 12-5)+5-(7-2*3))-11 我的想法是 一個矩陣存數字 [12, 3, 5, 25, 6, 12, 5, 5, 7, 2, 3, 11] 一個矩陣存+-*/ 其中 +:1 -:2 *:3 /:4 [1 3 2 2 3 2 1 2 2 3 2]===>if 值>2 ,先算; 一個矩陣存() [3 5 -7 8 -11 -11] 正數代表"(" 負數代表")" 其中3代表第4個數字前面有( 所以-7代表第8個數字前面有")" ps:其實應該再把[3 5 -7 8 -11 -11]轉成[8 -11][5 -7][3 -11] 然後按下"等於" 就把答案依照這三個矩陣算出來 目前我正在研究這個的邏輯...XD我感覺有點複雜 但是覺得這題目還滿有趣的 所以提供出來 大家空閒時可以想想 ps:這不是我的作業...只是突然想到這有趣的題目...XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.217.74

09/10 00:44, , 1F
我記得這東西資結還是什麼課有教過
09/10 00:44, 1F

09/10 00:55, , 2F
infix to postfix
09/10 00:55, 2F

09/10 07:01, , 3F
- - + 12 * 3 5 - + - 25 * 6 - 12 5 5 - 7 * 2 3 11
09/10 07:01, 3F

09/10 07:03, , 4F
- - + 12 15 - + - 25 * 6 - 12 5 5 - 7 * 2 3 11
09/10 07:03, 4F

09/10 07:05, , 5F
- - 27 - + - 25 * 6 - 12 5 5 - 7 * 2 3 11
09/10 07:05, 5F

09/10 07:05, , 6F
- - 27 - + - 25 * 6 7 5 - 7 * 2 3 11
09/10 07:05, 6F

09/10 07:06, , 7F
- - 27 - + - 25 42 5 - 7 * 2 3 11
09/10 07:06, 7F

09/10 07:07, , 8F
- - 27 - + -17 5 - 7 * 2 3 11
09/10 07:07, 8F

09/10 07:07, , 9F
- - 27 - -12 - 7 * 2 3 11
09/10 07:07, 9F

09/10 07:07, , 10F
- - 27 - -12 - 7 6 11
09/10 07:07, 10F

09/10 07:08, , 11F
- - 27 - -12 1 11
09/10 07:08, 11F

09/10 07:08, , 12F
- - 27 -13 11
09/10 07:08, 12F

09/10 07:09, , 13F
- 40 11
09/10 07:09, 13F

09/10 07:09, , 14F
29
09/10 07:09, 14F

09/10 10:10, , 15F
真是辛苦上面這位了@@
09/10 10:10, 15F

09/10 10:56, , 16F
這問題我以前有問過, 正解是用recursive descendant
09/10 10:56, 16F

09/10 10:56, , 17F
parsing..
09/10 10:56, 17F
文章代碼(AID): #18ngD0mA (C_Sharp)
文章代碼(AID): #18ngD0mA (C_Sharp)