問題タブ [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.

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

scala - Scala DSL、オブジェクトおよび中置記法

Scala で DSL を実装したい場合、次の方法はありますか?

関数を含む「Draw」というオブジェクトがありますdef draw(d:Drawable)

オブジェクトをインポートして、次のようにオブジェクトの外部で呼び出すことができるようにするにはどうすればよいですか。

ボールが Drawable トレイトを拡張する場合? 問題は、一種の中置表記で draw を使用したいということですが、クラス/オブジェクトを実装していることを示すことで関数 draw を修飾したくありません。

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

list - Scala での中置メソッド呼び出しとコンス演算子 (::) を理解する

私は Scala プログラミング言語にまったく慣れていないので、こちらの講義ノートを読んでいるときに心に引っかかっていることを試していました。

コンス演算子がどのように機能するかを本当に理解できなかったと思います。ここに私が試したいくつかのことがあります:

擬似乱数ジェネレーターを作成してから、1 つのランダム値のリストを作成しようとしました。

しかし、List(3) を nextnt メソッドに渡そうとしました。パラテーゼを使用したときは問題ありませんでした

実行順序が気になったので調べる関数を作ってみた

出力に見られるように、実行順序は出現順序と同じです。次に、「nextInt」関数に関するものかもしれないと思ったので、次のことを試しました。

最初に加算を実行し、その後に cons を実行します。ここに質問があります: と の違いは何gen nextInt 3 :: Nilですか1 + 2 :: Nil?

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

c# - 単項/二項演算子を含む中置への後置

後置記法から中置記法へのコンバーターを作成しようとしていますが、助けが必要です。infix-to-postfix conversion に関する質問が既にあります。これは、変換に失敗している例を示しています。(注: マイナス記号がありません!)

以下は私のコンバーターの出力です。1 番目の「列」は後置入力、2 番目は中置出力、3 番目はおそらく取得すべきもの (?) です。

この問題を解決できると思いますか、それとも最後の 2 行は実際に正しく変換されていますか? この問題を解決するアルゴリズムをどのように記述しますか?

+より多くの演算子 ( andだけでなく) を単項演算子と 2 項演算子の両方として設定できると仮定してください-。単項演算子は 2 項演算子よりも優先されます。

参考文献

  1. Ruby クイズ #148: Postfix から Infix へ、これもGoogle グループから
  2. LiteratePrograms で単項演算子をサポートする分流場アルゴリズム (C、Python、Perl )
0 投票する
3 に答える
1244 参照

algorithm - 次の接尾表記のうち、中置和 1+2+3+4 を正しく表しているものはどれですか?

infix-to-postfix-to-infix コンバーターをテストしていますが、ある種の不確実性が見つかりました。たとえば、単純な中置和

接尾辞に変換できます

等優先度の演算子は累積しないものとします。もしそうなら、私は得る

一方、次の後置式はすべて初期和に変換できます。

これらの後置式はすべて正しいですか?

更新1

そのようなコンバーターを作るとしたら、どのフォームを選びますか? テスト用に 1 つ選択する必要があります。

0 投票する
9 に答える
136125 参照

stack - スタックのプッシュとポップは何を意味しますか?

簡単に言えば、私の講師はくだらないもので、オーバーヘッド プロジェクターを介してスタックをプレフィックスするためのインフィックスを見せていましたが、彼の大きな影がすべてをブロックしていたので、重要なことを見逃していました

彼はプッシュとポップ、プッシュ = 0 ポップ = x について言及していました。

彼は例を挙げましたが、彼がどのように答えを導き出すのかまったくわかりません。

ステップ 1 逆: )1-4(*5+)1-2(/3*2わかりました

その後、彼は x と o の操作を書き続け、私は完全に道に迷いました

答え14-5*12-32*/+てから、もう一度逆にして取得します+/*23-21*5-41

誰かが私にプッシュ ポップを説明してくれたら、私はとても素晴らしいと思います。私はオンラインで見ましたが、見つけた多くのものはこれよりも一歩進んでいるように見えるので、最初にここで理解する必要があります。

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

c - 中置から後置

私はこの問題を理解しようとしてきました。基本的な電卓を作るという課題があります。

そのためには、postfix の指示が必要です。オンラインでいくつかのコードを見つけましたが、これは機能しましたが、gets() を使用していました。

get を置き換えてみましたが、プログラムが機能しなくなりました。これがコードです。誰かがエラーを見つけてくれることを望んでいました(入力として2 + 4を使用すると、2を数字として読み取り、次に+演算子として、次に4を数字として認識します...その後、ラインに沿ってどこかでループします)

明確にするために、このコードを使用することは、参照として引用する限り、私の課題にとって公正なゲームです (ほんの一部であるため)。

助けてくれてありがとう、本当に感謝しています:)。

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

php - 代数式の解析方法

代数式を解析できるプログラムを作ります。
例:
<?php echo cal ('5*5+2*2'); ?>
私のプログラムは、最初に 5 を 5 で、2 を 2 で乗算し、次にそれらを加算することを認識します。PHPではなく、自分で分析したい。

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

java - Javaを使用した接尾辞アプリケーションへの接中辞で間違った出力を取得する

私は最近、中置式を取り、それを後置式に変換するJavaプログラムを作成しました。ほとんどの場合は機能しますが、一部の式で間違った出力が得られます。たとえば、式a + b + c + d + eは、ab + c + d +e+を出力する必要があるときにabcde+++++を出力します。

24行目で<を<=に変更すると、この問題は修正されますが、空のスタックエラーが発生し、ab+cを出力するa+b*cなどの他の式が正しく出力されないことがわかりました。 *、abc*+であると想定される場合。

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

c - ファイルから読み取った行を使用してソリューションに後置する C プログラミング式ツリー

私は C プログラミングの初心者です。私はいくつかの答えに出くわしました。古い構文を使用しているものもあります。

問題は、テキスト ファイルを読み取り、読み取り後置行を使用して中置式に変換するプログラムを作成する必要があることです。

テキストファイルは次のようになります。

C ファイルは、テキスト ファイルが唯一の入力であり、出力が中置形式である Ubuntu ターミナルで読み取られます。

構造体、配列、および共用体を使用してこれを達成する方法に関するいくつかの提案。 構造体 opnode、vnode を作成し、それらを結合する形式は既に与えられています。配列部分 読み取りから配列自体に転送する方法がわかりません。現時点では、C は Java に比べて非常に奇妙です。

[編集]

申し訳ありませんが、これは宿題であることを忘れていました... infixへの後置ではなくなりました。方程式を解くのは後置です。

構文の事前知識がなく、オブジェクト指向プログラミングに慣れていないため、編集方法がわかりません。

/* これは、ターミナルに入力されたテキスト ファイルの文字列を読み取ります * 次に、テキスト ファイルを読み取るコマンド * など * その他すべてを実際に */

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

algorithm - 図付きの接頭辞から中置への変換アルゴリズム

代替テキスト


いくつかのグーグル検索の後、私はそれを見つけました!

中置への接頭辞

このアルゴリズムは、末尾再帰ではない方法です。反転された入力文字列は完全にスタックにプッシュされます。

スタックトップが

F(ABC)

アルゴリズムを入力すると、現在の値である「A」が出力に書き込まれます。

temp = A(言う)

ここで、アルゴリズムに従って出力列に「-」を取得する方法は、次の一時値は「B」であり、最後の再帰呼び出しの後にスタックからポップされました。ダイアグラムが出力をどのように示しているか"((A-"..。

私が間違った仮定をしているところは?誰かがそれを説明するのに苦労することができますか?