postfix-notation

    0熱度

    2回答

    我需要實現綴到後綴轉換算法來計算表達式a + b *的CD/E 我還需要做到這一點使用隊列(我相信2個不同的隊列堆棧是需要) 我使用DoubleLinkList創建了隊列類,現在只需要創建這個問題的算法。儘管如此,但我對於如何解決這個問題卻很失落。任何幫助,將不勝感激! 至今(我知道這是非常錯誤的),我有: string infix = "a+b*c-d/e"; Queue *holde

    0熱度

    1回答

    我一直在研究一種算法來將「a + b * c-d/e」轉換爲它的後綴形式。我已經準備好了http://en.wikipedia.org/wiki/Shunting-yard_algorithm wiki,但是我的邏輯有問題。當我打印出我的隊列時,我得到了一個沒有操作員的「一個骰子」。似乎沒有任何東西被推入我的堆棧?或者如果是,它不會被推入我的隊列。我的隊列/堆棧正在由我創建的雙鏈表類實現。 #in

    0熱度

    2回答

    我該如何將它轉換爲它接受括號的地方,目前唯一可以使用的就是2 + 4 * 7。我無法弄清楚如何忽略括號,所以像(2 + 3)* 7會讀出* + 2 3 7.任何事情都有助於感謝。 #include <iostream> #include <sstream> #include <stack> #include <limits> #include <string> using namespa

    0熱度

    2回答

    我正在尋找算法後綴來插入符號,這會產生最小數量的括號。 我發現,但它會產生很多很多括號:http://tajendrasengar.blogspot.com/2011/09/postfix-to-infix-algorithm.html 例如 輸入: <ONP>abcd*/+~ 結果: <INF>~(a+b/(c*d))

    0熱度

    1回答

    你好,我正在練習Java上的一些堆棧,我試圖做一個有關堆棧的問題。我試圖編寫一個採用後綴表示法並將其轉換爲中綴的方法。這是我到目前爲止有: ` public void convertion() { Stack<Integer> stack; // For evaluating the expression. stack = new Stack<Integer>();

    1熱度

    1回答

    時認識負值這是我的課: import java.io.*; import java.util.*; import java.lang.*; import java.util.Scanner; import java.util.List; import java.util.Stack; /** * * @author rtibbetts268 */ public class I

    1熱度

    1回答

    忍受着我,我現在有點油炸把這一切弄到一起,但我在最後一段時間。我用java製作了一個計算器,它用一箇中綴方程,然後將其更改爲後綴。它也需要變量!我做到了,所以我的後綴包含來自中綴的負數。這看起來就像這樣: infix: 1+-2*(4/2) postfix: 12_42/*+ 所以很明顯,我得到它的工作,其中底片的後綴是'_'。酷耶?好吧,但是現在我得讓我的計算器讀取它們,並且我只是對它在堆

    1熱度

    1回答

    我已經編寫了一個程序,用於從表達式列表中遞歸地評估prolog中的post-fix表達式。例如,假設下面的列表: [+,1,2] 它應該返回3.他們的方式我構建我的斷言是,直到它到達列表的末尾,以便它讀取值向後遞歸調用自身。 (與從左至右閱讀該列表相同:[2,1,+])。 我的問題是,當我嘗試通過遞歸調用返回多個值時,所有值突然消失。 下面的代碼: eval_list([Head|Tail],

    1熱度

    1回答

    當我試圖提高我的C++知識時,我發現這個問題來自於一場舊的編程競賽。我會嘗試參加今年的比賽,所以我想做好準備。 以下程序的輸出是什麼? #include <iostream> using namespace std; int dat=1; int counter=0; class ClassB; class B { public: virtual voi

    1熱度

    1回答

    我一直在試圖調試這個程序很長一段時間。當我輸入表達式 ,比如a + b-c或a/b + c,其中第一個運算符的優先級大於或等於第二個運算符時,它工作正常。但對於像a-b/c這樣的表達式,第一個運算符比第二個運算符具有更低的優先級,編譯器將引發一個斷點。 struct stack { char ele; struct stack *next; }; void push(i