C/C++の宿題を片付けます 45代目
■ このスレッドは過去ログ倉庫に格納されています
009789
2005/06/09(木) 16:50:08>>93に指摘されたんで、一部訂正。ツリー構造ではない表記も。
int print_tree(node_t* a, int level)
{
int i;
putchar(a->op); // 逆ポーランド式
putchar('('); // *
if(a->left != NULL) print_tree(a->left, level + 1);
else printf(" %.1f", a->lnumber);
putchar(a->op); // 中間記法
if(a->right != NULL) print_tree(a->right, level + 1);
else printf(" %.1f", a->rnumber);
putchar(')'); // *
putchar(a->op); // ポーランド式
return 0;
}
*は中間記法で計算順を間違えないように。場合によっては冗長だけど面倒なので略。
書きたくない記法の行をコメントアウトすればOK。
>>94
ヒマってのもあるけど、これは他の課題に比べてまだ面白みがある。
■ このスレッドは過去ログ倉庫に格納されています