問題タブ [infix-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.
common-lisp - Common Lisp: 数式を入力するためのより簡単な方法はありますか?
私は Common Lisp を楽しんでいますが、次のような単純な数式を入力するのが本当に苦痛な場合があります。
(確かにこれを変換できますが、ちょっと遅いです。最初に (+ () ()) を書き、次に各ブラケットに (* () ()) を入れます...)
ここで誰かがこれを入力するより良い方法を知っているかどうか疑問に思っています。私は数学マクロを書くことを考えていました。
に展開します
しかし、名前が長い変数の解析は問題です。
誰かがより良い提案をしていますか?
c++ - 中置式の評価
C++ で中置式を評価 (変換ではなく) したいと考えています。アルゴリズムまたはそのようなアルゴリズムの実装さえも所有している場合 (C++ でなくても、任意の言語である可能性があります... C++ に書き直そうとします) 共有してください。
評価手段は式の値を与える。(2+2)*3 は 12
申し訳ありませんが、スタック ソリューションについて話していることを忘れていました。ツリー ソリューションを知っているため、今回は適切ではありません : (。
java - Java でコマンド ライン引数から値をスタックにプッシュできない
私はJavaで奇妙な問題を抱えています。中置数式を評価し、最終結果を画面に返す数式計算機を作成しようとしています。私はタスクを達成するためにスタックを使用してきました。これまで、ハードコーディングされた文字列を入力に使用していましたが、同じ目的でコマンド ライン引数に変更しました。私の問題は、データ型と文字列がまったく同じであるにもかかわらず、使用しているスタックがコマンドライン入力から値をプッシュしないことです。
データをスタックにプッシュするコードは次のとおりです。
ハードコードされた文字列を使用してデバッガーを使用すると、スタックが正常にいっぱいになったことが示されていましたが、コマンドライン引数を使用すると、for ループが完了しても、常に 0 要素のスタックが表示されます。私は何を間違っていますか?
c++ - Postfix 計算機への挿入、sin cos および X&Y 変数の実装?
私は C++ にはかなり慣れていて、 と をサポートする後置計算機への中置を作成する必要がsin()
ありcos()
、 のような 2 変数関数でなければなりz=3x*sin(3+4y)
ません。 sin と cos の実装方法を知っているので+
、-
、/
、 などの演算子としてそれらを設定し、sin() の "s" や cos の "c" などの特定のトークンを設定できると言われました。 ()しかし、私はその方法を正確には知りませんし、変数 x と y を実装する方法も知りません。これは私が尋ねるべきことではないことを知っていますが、私はただ疲れていて絶望的です.
これが私が持っているコードです。私はUbuntu 11を使用しています:
infix-notation - 中置後置変換プログラム(java)
私は (スタックを使用して) ポストフィックス プログラムへのインフィックスに取り組んでいましたが、これらすべての努力の後、どこかで問題が発生しました。変換せずにインフィックスとして出力を取得しています。私の intopost メソッドが正しいかどうかを確認してください。
c++ - スタックを使用して中置式から後置式 (C++) に変換する
私の講師は、スタックを使用して式を後置に変換および挿入するプログラムを作成するという課題を与えました。中置式を読み取るためのスタック クラスといくつかの関数を作成しました。
しかし、convertToPostfix(char * const inFix, char * const postFix)
スタックを使用して配列 inFix 内の inFix 式を配列 postFix 内の事後修正式に変換する役割を担うこの 1 つの関数は、想定どおりの動作をしていません。皆さんは私を助けて、私が間違っていることを教えてもらえますか?
以下は、inFix から postFix に変換する関数があるコードであり、convertToPostfix(char * const inFix, char * const postFix)
修正の助けが必要なものです。
関数 convertToPostfix は、このアルゴリズムを使用して作成されていることに注意してください。
- 左括弧 '(' をスタックにプッシュします。
- infix の末尾に右括弧 ')' を追加します。
スタックが空でない間、左から右に infix を読み取り、次のことを行います。
- infix の現在の文字が数字の場合、postfix の次の要素にコピーします。
- infix の現在の文字が左括弧である場合、それをスタックにプッシュします。
infix の現在の文字が演算子の場合、
- 現在の演算子と同等またはそれ以上の優先順位を持つスタックの一番上に演算子 (存在する場合) をポップし、ポップされた演算子を後置に挿入します。
- infix 内の現在の文字をスタックにプッシュします。
- infix の現在の文字が右括弧の場合
- スタックの一番上から演算子をポップし、左括弧がスタックの一番上になるまで後置に挿入します。
- スタックから左括弧をポップ (および破棄) します。
c++ - C++ での分流場アルゴリズム
中置文字列 (「3 + 4 * 9」など) を取り、それを後置 (「4 9 * 3 +」など) に変換する関数が必要です。
括弧内に括弧を入れるまで、私はそれを機能させました。私は一日中それに取り組んできましたが、自分が間違っていることを理解できません。本当に近くにいるような気がします!
ありがとう!コードは次のとおりです。
c++ - Postfix から Infix への会話
この式を後置から中置に解くことができません。詳しく分かりやすく教えてください
data-structures - Post order 式を評価する
の結果の値はどうなりますか7 4 3 + - 3 9 2 / + * 2 ^ 5 *
ポスト順です。では、この式の値を取得するにはどうすればよいでしょうか。
javascript - Content MathML を javascript の中置/数学表記文字列に変換する
Content MathML (以下の例) を中置文字列または数学表記文字列に変換するにはどうすればよいですか。たとえば、これを変換します。
の中へ:compartment*k1*S1*S2
MathJax を見てきましたが、Content MathML も中置文字列への変換もサポートしていないようです。