問題タブ [rpn]
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.
java - Java rpn 電卓
プロジェクトの 1 つに単純な RPN タイプの電卓機能を含めたいと考えています。
基本的に、たとえば変換できるメソッドが必要です:
「30 / ((1 + 4) * 3)」を「2」に
これを行うことができる事前に作成されたライブラリを知っている人はいますか?
ありがとう。
lisp - Lispプログラムの逆ポーランド記法に放射状の距離を置くのに助けが必要
極座標の距離式は次のとおりです。http: //math.ucsd.edu/~wgarner/math4c/derivations/distance/distancepolar.htm
私はそれをこのようにしてみました:
しかし、減算と乗算の間の余分な括弧は式を変更します、しかし私は正しくそれなしでそれを行う方法がよくわかりません、どんな助けもいただければ幸いです。
postfix-notation - Applicative Language は Postfix Notation を使用できますか?
Factor のような後置言語は、前置言語 (Lispy 言語) や中置/後置言語 (演算子と関数の両方を含めれば、すべて C スタイルの言語) よりもはるかに読みやすいことが常にわかっています。
プレフィックス言語とは異なり、どこにでも区切り記号は必要ありません。中置記法とは異なり、覚えておくべき複雑な優先順位はありません。好きではないものは何ですか?
これらの言語はすべて連結しているように見えるため、ほぼ常にスタックベースです。
連結よりも適用可能であり、依然として後置ベースである現代的な言語を実装できますか?
c# - 「in」と演算子を論理で追加するための洗練された表記規則
私はその表現を持っています
これがrpnルールです
&&、||、~、を追加しました
では、RPN のルールをどのように変更する必要があるのでしょうか。
***アップデート
それは私の演算子の表です
java - RPNの問題(操作の順序)
演算の順序で簡単な電卓を作ろうとしています。インターネットで読んだところ、RPN (逆ポーランド記法) のアルゴリズムを見つけました。
編集:
例を見てみましょう: 2 * 5 - 3 + 4
わかりました、あなたの両方が言ったように、今すぐチェックしてください:
proc は、数値と演算の両方の文字列配列です。プロシージャは {2, *, 5, -, 3, +, 4} になります
これはコードです:
まだ機能しない
どうすればそれを機能させることができますか?助けてください!
c# - 逆ポーランド記法C#が正しく機能しない
私はstruktogramでrpnを書きます。
最新の問題:現在、正しく機能していません。
入力文字列が「5+((1 + 2)* 4)-3」の場合
私の出力は次のとおりです:5 1 2 + 4 * 3-+
私はこの結果を得る必要があります:5 1 2 + 4 * +3-
ソースを編集しました
*それは元々の問題でしたが、私を助けてくれました。そして今では元々の間違いが修正されました:*、
ループまたはinti= 12の場合のデバッグ では、c値は0 \ 0など であり、この値は出力(名前:数式)文字列に'('ブラケットとして追加されます。理由はわかりません。 そして最後の'-'演算記号は、出力文字列(式)の最後に追加されない(または表示されない) '('によってこの問題の原因を誤解しました。 他の文字列入力値でプログラムを試しましたが、常に'('を文字列に追加しますが、理由はわかりません...ブラケットの数に依存しないことがわかりました。常に1つだけ'('が文字列に追加されます... *)はい、英語LengyelFormula=rpn(ハンガリー語です)*
c - C の逆ポーランド電卓: isdigit() の問題
私は C で宿題をしています。RPN を取り込んで double に変換し、スタックに追加/削除し、スタックに残っているものを出力する電卓を作成する必要があります。私がそれを実行するまで、すべてがうまくいっているようです。私の入力を入力すると、char[] は double に正常に変換され (またはそう思う)、途中で (おそらく getop() で)、プログラムは数字を入力していないと認識します。コードと出力は次のとおりです。
出力:
終了するには、ポーランド記法を入力するか、^d を入力してください。123 スタック位置の値が 1
桁でも小数でもありません。
123.00 終了するには、ポーランド表記を入力するか、^d を入力してください。
何が起こっているかについての考えは、非常に役に立ちます。数値が適切に渡され、char から double に適切にフォーマットされているようですが、何か問題が発生しています。
ありがとうございました。
石
c++ - BinaryOperadsサンプルプログラム
問題の説明:接尾辞式を評価するC++プログラムを作成します。プログラムはpostfix式を入力として受け取り、スタックを使用して処理し、必要な計算を実行した後に結果を表示する必要があります。
このプログラムでは、次の2項演算子のみが許可されています:+、-、*、/、^ [加算、減算、乗算、除算、べき乗]
後置式の処理中にエラーが発生した場合、プログラムは次のような意味のあるメッセージを表示する必要があります。エラー:ゼロによる除算は許可されていませんエラー:__演算子に必要な2つのオペランドエラー:無効な後置式
それで私を助けてください、私のプログラムはエラーを生成していますこれは私の試みです:
calculator - スタンフォード CS193p 課題 2 - RPN 計算機への変数の入力
私は現在、iPhone プログラミングを独学で学んでおり、今年のスタンフォード CS193p コースの課題 2 [PDF]の解決に取り組んでいます。
必須タスク 1 について理解できないことがあります。1 つは、プログラムできるように、RPN 計算機に変数サポートを追加することになっています。しかし、誰かがこの機能を使用するために推定される方法は何ですか? あれは:
- 変数を設定する電卓ボタンの順序は?
- ユーザーは、定義済みの変数値を使用して定義済みの計算プログラムをどのように実行する必要がありますか?
ページ 5 のスクリーンショットには「保存」または「実行」ボタンがないことに注意してください。
c - whileループを使用して数値と演算子の系列をスキャンする方法は?
" 33 44 55 + 66 * + = " (つまり、逆ポーランド記法、RPN) のような stdin 入力があり、次のコードを使用して解析します。しかし、scanf("%d") は '+' を読み取り、それを破棄します。オペレーターを unget して、scanf(" %c ") によって読み取られるようにする方法は? 問題を解決する最善の方法は何ですか。ありがとう。