アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語で逆ポーランド記法への変換をしようとしています.
演算子の優先順位の付け方がわかりません.
構造体の配列に数式を入れて,それぞれに優先度をつけてみたりしたのですが,いい方法でないように思います.
適切な方法を知っている方よろしくお願いします.

A 回答 (5件)

逆ポーランド記法の特徴、演算子の優先順位など↓


http://ja.wikipedia.org/wiki/%E9%80%86%E3%83%9D% …
逆ポーランド記法(後置記法)変換プログラムの例↓
http://www.sra.co.jp/people/miyata/algorithm/pos …
    • good
    • 0

LR系の解析手法では「スタックを使って」解析しています. 式の解析に限定しちゃえば「演算子順位解析」あたりが簡単かな. フルスペックの LR を使うほどじゃないし.


もちろん LL系, 例えば再帰下降解析も「スタックを使ってる」と言い張ることは可能です.
    • good
    • 0

>演算子の優先順位はどのように考えればいいのでしょうか?


乗除算は加減算よりも優先順位が高い
とかいうのを使いたい全部の演算子で関係が壊れないように決めればいいだけですが?

左結合の演算子と右結合の演算子(べき乗とか)や、同じ順位の演算子を
どうするかという問題はありますけどね。

VB.NET - katamari soulware
http://katamari.jp/soulware/index.php/post/categ …
電卓のアルゴリズム
http://www.di.takuma-ct.ac.jp/~miyatake/open/cal …
    • good
    • 0

> スタックを使うのも作ってみたいのですが,演算子の優先順位はどのように考えればいいのでしょうか?


スタックは変換した逆ポーランド記法の計算で試してみるのがよいかと思います。

参考URL:http://www.sm.rim.or.jp/~shishido/pol.html
    • good
    • 0

二分木を使えば効率よく実装できると思います。



参考URL:http://smdn.invisiblefulmoon.net/ikimasshoy/cpp/ …
    • good
    • 0
この回答へのお礼

ありがとうございます.
早速,作ってみようと思います.
スタックを使うのも作ってみたいのですが,演算子の優先順位はどのように考えればいいのでしょうか?

お礼日時:2008/07/03 00:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!