大学の課題です。ヒントだけでもいいのでください 再帰関数です
Posted: 2018年9月25日(火) 16:59
問題4. キーボードから(空白類文字を含むかもしれない)1行を入力して,先頭のK文字 と最後の K 文字が順に同じであるかを判定するプログラムを書きたいとする.ただ し,K はマクロで定めなければならず,1 行の長さに上限を勝手に設けてはいけな く,メモリを動的に確保してはいけないとする.また,(入力のために打ち込んだ) 改行文字を判定に含めず,2K 文字未満の 1 行が入力された場合は「undecidable」 を表示すること.
入力例(K=5 のとき) 出力
abcdef_g_abcde same
1234567890123456 different
123456789012345 same
abcdef undecidable
繰り返し文や goto 文を使ってはいけない場合のプログラムを書け.
問題5. 負の整数が入力されるまで、繰り返しキーボードから整数を入力する。入力した 各整数 v について、v より後ろに入力された整数の中に v より大きいものがある ときのみ、v を画面に表示する関数 (配列・ポインタなどは用いない)。
たとえば、キーボードから
5 7 8 10 2 4 3 -1
を入力したときに画面に表示したいのは下記の通り:
2875
問題6. 文字’L’がl個、’R’がr個で構成される文字列をすべて表示する関数。ここで、 l と r は非負整数でキーボードから入力し、l + r ≤ 8 としてよい (高々8 文字が入 る配列を 1 つ用意すると良い)。(参考: ’L’ を選べれば選んで、残り l − 1 個と r 個の文字列作成。同様に’R’ を選べれば選んで · · ·。と両方行えばすべて行ったこ とになる。)
入力例(K=5 のとき) 出力
abcdef_g_abcde same
1234567890123456 different
123456789012345 same
abcdef undecidable
繰り返し文や goto 文を使ってはいけない場合のプログラムを書け.
問題5. 負の整数が入力されるまで、繰り返しキーボードから整数を入力する。入力した 各整数 v について、v より後ろに入力された整数の中に v より大きいものがある ときのみ、v を画面に表示する関数 (配列・ポインタなどは用いない)。
たとえば、キーボードから
5 7 8 10 2 4 3 -1
を入力したときに画面に表示したいのは下記の通り:
2875
問題6. 文字’L’がl個、’R’がr個で構成される文字列をすべて表示する関数。ここで、 l と r は非負整数でキーボードから入力し、l + r ≤ 8 としてよい (高々8 文字が入 る配列を 1 つ用意すると良い)。(参考: ’L’ を選べれば選んで、残り l − 1 個と r 個の文字列作成。同様に’R’ を選べれば選んで · · ·。と両方行えばすべて行ったこ とになる。)