dポイントプレゼントキャンペーン実施中!

Visual Studio C++ 6.0で逆ポーランド電卓のプログラムを作っていますが、式の変換方法がわからないので教えていただければ助かります。
たとえば (8 + 9 * -8) * 10 だと 8 9 -8 * + 10 * に変換できますが、 
-(8 + 9 * -8) * 10 だとどう変換すればよいのかがわかりません。

A 回答 (2件)

 「-(8 + 9 * -8) * 10」のような場合、「-1 * (8 + 9 * -8) * 10」に置き換えてから、もともとの処理を行います。


 処理的には先頭に「-(」とある場合にのみ、「-1*(」に置換するだけだったと思います。
    • good
    • 0
この回答へのお礼

お~ -1 をかければよかったんですね これなら何とかプログラムを組めそうです。

goosyu さん回答ありがとうございました。

お礼日時:2010/02/21 12:42

二項演算子のマイナスとは別に、単項演算子のマイナス(符号の反転)を導入してください。

    • good
    • 0
この回答へのお礼

salsberry さん回答ありがとうございました。

単項演算子のマイナス(符号の反転)の導入をするのは、私のプログラム力では無理のようです。

お礼日時:2010/02/21 12:44

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