廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3574 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
yaingc
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[Basic][求助] VB2005的中序轉後序問題
以下程式在輸入1*(2+3)*4-5時,輸出應為123+*4*5-,可是卻是輸出123+*4-5*
請問要怎麼修改才行呢...?

Dim length As Integer = Len(TextBox1.Text) 'textbox1主要是放輸入的中序式
Dim i As Integer
Dim top As Integer = -1
Dim v As String
Dim Postfix_string As String '後序式字串
Dim stack(length) As Char '堆疊

v = TextBox1.Text
i = 0

While i < length
Select Case v(i)
Case "(" '當遇到(直接壓入堆疊
top += 1
stack(top) = v(i)

Case ")" '遇到)時,堆疊作POP,直到遇到(

Wh ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容




獻花 x0 回到頂端 [樓 主] From:臺灣中華 | Posted:2007-06-10 18:51 |
yaingc
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

會用到的一段副程式,忘了貼

  Function priority(ByRef op As Char) As Integer
    Select Case op
        Case "$"
          Return 1
        Case "*", "/"
          Return 2
        Case "+", "-"
          Return 3
        Case "("
          Return 4
    End Select
  End Function


獻花 x0 回到頂端 [1 樓] From:臺灣中華 | Posted:2007-06-10 19:07 |
yaingc
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

自行解決了...

    Dim top As Integer = 0

    While top > 0
改了這二行
有興趣的人可以拿去用


獻花 x0 回到頂端 [2 樓] From:臺灣中華 | Posted:2007-06-10 21:50 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.019155 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言