[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 10:19 / Filesize : 63 KB / Number-of Response : 199
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

 /* 簡単なプログラムをウプしよう */



54 名前:名前は開発中のものです。 mailto:sage [02/06/29 09:50 ID:???]
逆ポーランド記法は、スタックを使って実現。
まず、逆ポーランド記法に数式をなおす。
{(10+3)*5}/5 → 10 3 + 5 * 5 /
と言うようになる。
まずは、数式を逆ポーランド記法になおす関数をつくり、結果を配列A[]にいれる。
次に、逆ポーランド記法の計算をする関数を作る。
A[]から一つずつ要素を取り出して、演算子かどうかを判断しながらスタックに格納していく。演算子だった場合は、計算を行う。
動作1:数字がきているので、そのままスタックに積む。
|10|
動作2:数字がきているので、そのままスタックに積む。
|10| 3|
動作3:演算子"+"がきているので、A[0] + A[1] をして、A[0]に代入。
|13|
動作4:数字がきているので、そのままスタックに積む。
|13| 5|
動作5:演算子"*"がきているので、A[0] * A[1] をして、A[0]に代入。
|65|
動作6:数字がきているので、そのままスタックに積む。
|65| 5|
動作7:演算子"/"がきているので、A[0] / A[1] をして、A[0]に代入。
|13|
動作8:要素がなくなったので、A[0]を出力して終了。






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<63KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef