/* 簡単なプログラムをウプしよう */at GAMEDEV /* 簡単なプログラムをウプしよう */ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト52:名前は開発中のものです。 02/06/28 21:23 >>51 僕はまだ、クイックソートやマージソートが 何をやっているのか、ってのがやっと解りはじめた 程度のヘタレなんですが… 難しいですね。 全くと言っていいほど、やり方が思いつかないです。 ()内の式を再帰で渡す形でバラバラにしていくのかなぁ? 頭の体操になりそうなので、毎日ちょっとずつ考えよう… 53:名前は開発中のものです。 02/06/28 21:39 tpZVIR7w 俺は51だが、俺のレベルもそのくらいだYo!>52 のほほんと頑張ろうぜ 54:名前は開発中のものです。 02/06/29 09:50 逆ポーランド記法は、スタックを使って実現。 まず、逆ポーランド記法に数式をなおす。 {(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]を出力して終了。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch