2桁の乱数を5つ発生させて,それらを値に持つ配列を作成してから,値を順に表 示するプログラムを作成せよ.
71 33 60 90 62 |
配列の作成にも for ループを使用します.乱数を5回発生させるので, 5回繰り返すループを作ります.そのとき,例えば配列の名前を ary とすると,ary[i] に乱数を代入することで,配列の作成が出来ます.
表示させるときも for 文を使用して下さい.
前問を改造して,逆順に表示する行を追加せよ.
42 91 57 58 53 53 58 57 91 42 |
前問を改造して,50以上の数だけを表示する行を追加せよ.
26 70 39 15 64 70 64 |
設問 i を改造して,要素の最後から何個かの和を取って表示するよう にせよ.和を取る個数は配列の要素の範囲内の2個以上とし,乱数を発生させて 決める.
54 97 13 57 61 Sum of last 3 elements: 131 |
設問 i をさらに改造して,発生させる乱数の個数を10個とし,最後の 行は要素をずらして表示する.ずらす量は,やはり乱数により決めるものとし, 3から7の範囲の乱数を発生させてずらすようにせよ.
97 38 59 42 71 57 72 94 10 56 Shift array by 4 elements 72 94 10 56 97 38 59 42 71 57 |
循環させるためのポイントは剰余です.
サイコロを100回振ることをシミュレートする.以下のように出現頻度を数えて 表示するプログラムを配列を用いて作成せよ.
1 2 3 4 5 6 11 20 15 20 16 18 |
サイコロの目の出現回数を入れておく配列 dice を用意しておいて, 目に従って,dice[1] から dice[6] を1ずつ増やしていくこ とで,出現頻度の格納された配列が作成できます.ただし,配列は初期化してお かないといけないので,以下に示す初期化を行っておいてください.
dice[7] = {0, 0, 0, 0, 0, 0, 0};
なお,上の例で要素が7つ分用意されているのは,配列の要素の添字は0から始まるので,サイコロの目と合わせるために0番目を捨 てているためです.
また,このプログラムの特徴は if 文を使用しないことです.それと, 表示作業にも for 文を使用しましょう.
前問を改造して,以下のように出現割合も表示するようにせよ.サイロを振る回数 を10000回に増やすとどうなるかも確認せよ.
1 2 3 4 5 6 1698 1647 1679 1666 1692 1618 0.170 0.165 0.168 0.167 0.169 0.162 |