postfix-notation

    2熱度

    2回答

    我已經嘗試從頭開始編寫此代碼,編碼並運行它,但它似乎並不奏效。這在課堂上被指定爲實驗室工作。要求如下: 使用堆棧和堆棧操作(用戶定義)實現後綴評估。 我認爲我的程序算法是正確的,但它總是給我一個錯誤的答案。 這是我的代碼。 public class StackApplication { public static class Stack<T> { private int

    0熱度

    4回答

    我有一個stdin輸入,如「33 44 55 + 66 * + =」(即Reverse Polish notation,RPN),我使用如下代碼來解析它。但是scanf(「%d」)讀取'+'並丟棄它,如何取消操作並使其被scanf(「%c」)讀取?解決問題的最佳方法是什麼?謝謝。 while ((reta = scanf("%d", &operand)) == 1 || (retb = scanf

    1熱度

    2回答

    我需要一種使用遞歸評估後綴表達式的算法。在這個後綴表達式中,操作數可以是多個數字。空格用於區分兩個操作數。所以表達'45 68 +'是有效的。 我想過反向評估它,但我認爲這不應該是正確的。 有人可以幫助我只是算法。 在此先感謝。

    0熱度

    1回答

    我正在嘗試編寫一個評估後綴算術表達式的程序。程序向我的函數evaluatePostfix發送一個字符串,它繼續識別操作數和操作符,並提出一個整數解決方案。我正在操作這個程序中的堆棧,通過推送已識別的掃描字符,當然還需要在評估時執行適當的彈出功能。不過,現在我遇到了一個程序問題,這個程序似乎是一個無限循環。我想我不確定如何告訴函數在評估第一個字符後繼續處理字符串中的下一個字符。另一點要注意的是,用戶

    2熱度

    1回答

    我有一個字符串,如: {A}{B}={C}{D}<{E}{F}<= 我想要做的是分裂使用正則表達式的字符串,這樣才能得到這樣的: 1: {A}{B}= 2: {C}{D}< 3: {E}{F}<= 我使用目前拆分字符串(?<=\>)|(?<=\<\=)|(?<=\>\=)|(?<=\=)|(?<=\<)|(?<=!\=)但它沒有產生預期的結果,你可以看到: 1: {A}{B}= 2

    0熱度

    1回答

    我以前的問題都可以在這裏找到(只是想提供保證這個最有幫助的社區,我不是垃圾郵件的問題): Evaluating a postfix Expression in C 我的問題涉及評估後綴表達式。說我有一個後綴表達式如: 3 2 1 2 +^^ 我試圖存儲在堆棧中的值(作爲輸入的字符的字符串的所有用戶),並通過使用其他函數,我打算評估它,最終結果是堆棧中唯一剩下的元素被彈出並呈現。在Code Bloc

    0熱度

    3回答

    我正在參加C課程,我們必須爲經典的Postfix評估問題編寫一個程序。現在,我已經在java中完成了這個問題,所以我知道我們必須使用堆棧來推動數字,然後在我們獲得操作員時彈出它們,我認爲我對所有這些東西都很好。我遇到的問題是在C中掃描後綴表達式。在java中它更容易,因爲你可以使用charAt並且可以使用parseInt命令。但是,我不知道在C.任何類似的命令,所以任何人都可以解釋的方法,從形式的

    0熱度

    3回答

    我在這裏有一段時間去了一個類似的問題,但我認爲與錯誤的問題。爲了給一點背景,我帶建立一個C程序任務是解決形式後綴表達式 8月7日至9日* = 我覺得我的問題是,是,我的教授給作爲一些錯誤的堆棧代碼。我這樣說是因爲我經常得到堆棧溢出(lol)錯誤,而且我的堆棧遠沒有滿。如果它有助於我使用Visual Studio 2005這裏是我的代碼: #include <stdio.h> ` #include

    1熱度

    2回答

    我想實現後綴表達式的評價,這裏是我的代碼: #include<iostream> #include<string.h> using namespace std; template < class T > class Stack { private: T * s; int n; public: Stack(int maxn) { s = new T

    5熱度

    4回答

    我一直在尋找的維基頁面:http://en.wikipedia.org/wiki/Shunting-yard_algorithm 我使用的代碼示例建立的第一個部分,基本上我現在可以打開: 3 + 4 * 2/(1 - 5)^2^3到3 4 2 * 1 5 − 2 3^^/+ 但我不知道如何再使用3 4 2 * 1 5 − 2 3^^/+獲得3.00012207 而且示例代碼和解釋上的維基AR對我沒