問題5:STL②

この問題を解くためには…
 → 応用編第5日目参照

probex5-1.(難易度:★)

記の実行結果に倣い、コンソールから、英単語を入力すると、それに対応する日本語が出てくるようにしなさい。なお、英語と日本語の対応には、mapを用いること。また、英語と日本語の対応は、以下の表を用いること。

英単語と日本語の対応表
英語日本語
cat
dog
bird
tigerトラ
期待される実行結果①(対応する日本語があった場合)
英語で動物の名前を入力してください:cat ← コンソールから英単語を入力

「猫」です。

期待される実行結果②(対応する日本語がない場合)
英語で動物の名前を入力してください:horse

対応するデータは登録されていません。

probex5-2.(難易度:★★)

実行結果にならい、キーボードから整数の値を入力すると、その値が漢数字で出力されるプログラムを作りなさい。このとき、用いられるのは、1から9に対応するのが、一から九までの漢字で、ゼロは、〇と表示するようにしなさい。また、この数字と漢字の対応は、mapを用いて作りなさい。また、結果を出力する際には、3桁ごとに「,」(コンマ)を出力すること。

※ヒント:入力は、数値としてではなく、文字列として受付、その中身が妥当かどうか調べるとよい。

期待される実行結果(整数の値が入力された場合)
整数の値を入力してください:1198000 ← コンソールから整数の値を入力

変換結果:一,一九八,○○○

期待される実行結果(整数以外の値が入力された場合)
整数の値を入力してください:hello

整数の値を入力してください。

probex5-3.(難易度:★)

1から10までの乱数を10回発生させ、その結果を表示し、そのあとに、そこで出力された文字の種類を表示するプログラムを作りなさい。数値はsetに登録し、1つの数が複数出現しても、一つとしてカウントするものとする。

期待される実行結果
乱数: 1 2 1 10 8 7 5 4 2 9
出現した数: 1 4 5 7 9 10

probex5-4.(難易度:★★)

実行結果にならい、キーボードから英単語を入力し、その単語に用いられている文字を全種類表示するプログラムを作りなさい。文字は、setに登録し、一つの単語内に同じ文字が複数使用されていても、一つとしてカウントすること。

期待される実行結果
英単語を入力:apple ← 英単語を入力
使用されているアルファベット : a e l p ← 出力結果(pは複数回使われているが、出力は一回でよい)

probex5-5.(難易度:★)

queueを用いて、キーボードに、コンソールから文字列を入力させ続けて、何も入力せずEnterを押すと、それまで入力した文字列が、入力した順序で出力されるプログラムを作りなさい。

期待される実行結果
文字列を入力:apple
文字列を入力:good
文字列を入力:pineapple
文字列を入力:big
文字列を入力:dog
文字列を入力:cowboy
文字列を入力: ← 何も入力せず、Enterを押すと、入力を終える

apple
good
pineapple
big
dog
cowboy

probex5-6.(難易度:★)

stackを用いて、キーボードに、コンソールから文字列を入力させ続けて、何も入力せずEnterを押すと、それまで入力した文字列が、逆の順序で出力されるプログラムを作りなさい。

期待される実行結果
文字列を入力:apple
文字列を入力:good
文字列を入力:pineapple
文字列を入力:big
文字列を入力:dog
文字列を入力:cowboy
文字列を入力:← 何も入力せず、Enterを押すと、入力を終える

cowboy
dog
big
pineapple
good
apple

probex5-7.(難易度:★★)

キーボードから英単語を入力し、その単語を逆から出力するプログラムを作りなさい。単語の文字は、stackに保存し、出力するようにしなさい。

期待される実行結果
英単語を入力:apple ← キーボードから文字列を入力

elppa

probex5-8(難易度:★)

probex5-2.と同じ処理を行うプログラムをqueueを用いて作成しなさい。

probex5-9

以下の単語を、「しりとり」になるように並べ替えなさい。(※ヒント:mapを使うこと)

room wonderful pork trap kind money dog given yellow eat apple neighbor