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

看板C_Sharp作者 (每次下中華隊都輸...orz)時間17年前 (2008/09/14 23:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《hatasum (我很可愛)》之銘言: : 假設題目是這樣 : 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 這個問題簡單講就是要實作具有operator precedence特徵的計算機 實作:用lex + yacc 研究:請參閱compiler課本 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.182.60
文章代碼(AID): #18pIbKiI (C_Sharp)
文章代碼(AID): #18pIbKiI (C_Sharp)