復習
問題1.ヒストグラム(配列とfor文と)
0から100の整数値20個から構成されるデータがあるとします。 この時、区分を0~9、10〜19、20〜29、30~39、40~49、50~59、60~69、70~79、80~89、90~100とした時、 プログラムを修正して、ヒストグラムを描くプログラムを作成しましょう。
例えば、
./a.out 46 22 67 11 25 33 71 3 63 38 33 22 50 100 89 23 98 44 6 19
と実行すると
0:**
10:**
20:****
30:***
40:**
50:*
60:**
70:*
80:*
90:**
と出力されます。
Note
printf文にて、整数を桁数を固定して表示したいときには、%nd(n:整数)を用います。 例として、2桁に固定したい場合は%2dです。
問題2.2次方程式の実数解の個数(整数型の四則演算とif-else)
なる方程式において、実数解の個数を表示するプログラムを作成しましょう。 なお、a、b、cはそれぞれプログラム引数として入力されます。
例えば、
./a.out 1 2 3
と実行したときは、の解の個数を求めることになります。
この場合の出力結果は
0
となります。
問題3.フィボナッチ数(while文とか)
n>=0において、で定義される数列をフィボナッチ数列と呼び、数列の各数をフィボナッチ数と呼びます。 この時、プログラム引数として入力された整数aを超える最小のフィボナッチ数を画面に表示するプログラムを作成しましょう。
例えば、
./a.out 3
とすると、出力結果は
5
となります。
問題4.組み合わせ(for文)
組み合わせの数 を求めるプログラムを作成しましょう。 なお、a、bはそれぞれプログラム引数で指定されるとします。
例えば、
./a.out 10 2
と実行すると、
a=10, b=2としてを求めることになり、出力は
45
となります。
問題5.画像の二値化(多次元行列とif文)
5画素x5画素の画像を2値化したいとします。 各ピクセルの値は0~255とし、128以上なら白(0)、より小さいなら黒(1)とします。 画像の画素情報がpixel[5][5]に入っているとするとき、それぞれを2値化した結果をbinary[5][5]に格納し、 binaryを表示するプログラムを書きましょう。 なお、pixelの各要素はプログラム引数で定義されます。
例えば、
./a.out 57 143 95 254 249 151 17 183 176 233 239 148 54 2 195 206 172 102 151 5 57 149 99 131 210
と実行すると
pixel[5][5]={{57,143,95,254,249},{151,17,183,176,233},{239,148,54,2,195,},{206, 172,102,151,5},{57,149,99,131,210}}
という意味になり、
この時、出力される結果は、
1,0,1,0,0,
0,1,0,0,0,
0,0,1,1,0,
0,0,1,0,1,
1,0,1,0,0,
となります。