問題タブ [postfix-notation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1605 参照

data-structures - Post order 式を評価する

の結果の値はどうなりますか7 4 3 + - 3 9 2 / + * 2 ^ 5 *

ポスト順です。では、この式の値を取得するにはどうすればよいでしょうか。

0 投票する
1 に答える
1505 参照

c# - 解析式 (カスタム関数と操作を使用)

カスタム式を含む文字列があり、解析して評価する必要があります。

例えば:

FUNCTION_X は、C# で実装され、IList を返す関数を表します。UNION または INTERSECT は、これらの関数から返されるリストに適用する必要があるカスタム関数です。

Union と Intersect は を介し​​て実装されEnumerable.Intersect/Enumerable.Unionます。

解析と評価をエレガントで拡張可能な方法で実装するにはどうすればよいでしょうか?

0 投票する
1 に答える
156 参照

c++ - postfix プログラムで print 関数がこのエラーを生成するのはなぜですか?

後置式を計算するプログラムを作成しようとしています。これには、ドライバーと実装ファイルの両方が含まれています。これらの 2 つを以下に示します。

私の実装ファイルは次のとおりです。

g++ を使用してこのプログラムをコンパイルした後、以下に示す奇妙なメモリ エラーが発生するまで、最大 2 つの値を入力できます。

多くのデバッグの後、問題は .cpp ファイルにある印刷機能にあるに違いないと判断しました。

なぜそれが起こっているのか、それを克服する方法がわかりません。

0 投票する
1 に答える
252 参照

c# - オプションのパラメーターを持つ関数を含む式の接尾辞スタックを構築および評価する方法

例えば:

私の最初の考えは、パラメーターのカウントである特別なトークンを作成し、「)」が検出されたときにそれをスタックにプッシュすることです。しかし、パラメーター自体がパラメーターを持つ関数である可能性がある場合に、カウントを維持する方法がわかりません。

0 投票する
2 に答える
184 参照

c++ - 「+」を「+」、「*」を「*」などに変換する方法

文字列の形式で後置式を読み取り、それに応じて計算する関数を作成しています。

C++ で算術演算子の文字を算術演算子自体に変換する簡単な方法はありますか?

0 投票する
3 に答える
1563 参照

java - 変数の比較中の接頭辞と接尾辞の増分

誰かがこのコード出力がなぜであるかを説明できますか

最初の if ステートメントでは、a = 0 b/c が後置インクリメントのようです。したがって、a は次の行まで増加しません。しかし、2 つの a が等しくないのはなぜですか? 2番目に、デバッガーを実行したときにaの値が2であるのに、テストが偽である場合、なぜですか?

0 投票する
1 に答える
1633 参照

math - 逆ポーランド記法(後置記法)での数式の解釈

中置記法の数式を後置記法に変換する方法を見つけました。(http://en.wikipedia.org/wiki/Shunting-yard_algorithm)では、結果の式を解釈するためにどのようにコーディングする必要がありますか?

これが私の考えです:

オペランドのみの式の場合:

  1. 形式operand-operand-operatorに従うオブジェクトのセットを探します。
  2. 演算子の計算規則を2つのオペランドに適用します。
  3. オブジェクトのセットを、計算の結果である1つのオペランドに交換します。

関数(正弦、絶対値、符号など)を持つ式の場合

  1. 形式operand-operand-...-operatorに従うオブジェクトのセットを探します。
    • オペランドの数は、関数に渡すために必要なパラメーターの数によって異なります。例えば:
      • サイン-1つのパラメーター(鋭角)
      • power-2つのパラメーター(数値mのn乗)
      • 3x3マトリックス-9つのパラメーター
  2. 私が上で述べた他のことは何でもしなさい。

私は今、自分のアイデアをコードに実装するための環境がない状況にあります。そのため、私は抽象的な話しかできません。

このアイデアは可能かどうか?改善の余地がある場合は、それらに注意してください。参考資料も歓迎します。

コードを提示する場合は、コードを誰もが理解できる言葉に変更してください。例えば:

変化する:

の中へ:

ただし、 end...はオプションです。

ありがとう!

0 投票する
1 に答える
2553 参照

java - スタックと演算子の優先順位を使用したPostfixへのInfix

すでにSOにこれと同様の質問があることは知っていますが、私が抱えている問題を解決する質問を見つけることができません。正しい出力を得るために演算子の優先順位を実装しながら、中置記法式を後置記法に変換するメソッドを作成しようとしています。私は通常のメソッド(push、pop、peekなど)を使用して独自のスタッククラスを作成しましたが、これは完全に正常に機能します。私の問題は、A-(B + C ^ D ^ C)/ D * Bなどのより複雑な式の場合、間違った出力が得られることです。変換の結果はABCDC^^+ D / B *-になるはずですが、私はABCDC ^^ + D/-Bを取得し続けます

これが私の方法です:

コンポーネントメソッドのいずれかが必要な場合はお知らせください。どんな助けでも大歓迎です!

0 投票する
2 に答える
897 参照

algorithm - プレフィックスのブール式を短絡する

プレフィックス表記(ポーランド記法とも呼ばれます)で記述されたブール式がたくさんあります。この形式のネストされた式は、非常に簡単に評価できます(Wikipediaの記事のアルゴリズムを参照してください)。

ただし、ウィキペディアのページに記載されているアルゴリズムは短絡を行いません(評価するときに、 ifがfalseand f() g()の評価をスキップしません)。短絡を含めるようにアルゴリズムを変更する方法はありますか?g()f()