C/C++の宿題片付けます 133代目

このエントリーをはてなブックマークに追加
864デフォルトの名無しさん
[1] 授業単元: プログラミング演習 (木構造と数式処理)
[2] 問題文(含コード&リンク):

算術式の値を変えずに括弧をくくり直す簡単な式変形を考える.例えば,式

(1+(2+3))
(a*(b*c))
((i*x)+((j*y)+(k*z)))

の括弧を左にくくり直すと,それぞれ,次の式になる.

((1+2)+3)
((a*b)*c)
(((i*x)+(j*y))+(k*z))

括弧を左にくくり直せる (A+(B+C)) や (A*(B*C)) の形の算術式を((A+B)+C) や ((A*B)*C) の形にする式変形は,式に対応する木を
「左に転回」する変形と捉えられる

この操作を実行する関数 rotate_left_exp()を完成させてください。
括弧をくくり直すと値の変わる (8+(8*8)) のような式や,括弧をくくり直せる部分が内側にある (a+(b*(c*d))) のような式は,
変形しないこと.


[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2010年01月18日12:00まで

よろしくお願いします。