JScript+WSHでプログラミング基礎100本ノック その59 実践6 ヒストグラム
その59 ヒストグラム
課題
0~20の値がランダムに格納された25個の要素を持つ配列を作成し、ヒストグラムを作成してください。
ヒント
・乱数の生成はMath.random()を用いる。これは0以上1未満の値を返す。
・echo(str1 + str2)は下記のように複数行に分けて書くことができる
echo(
str1 +
str2
)
コード例
var maxLength = 20;
var maxNumber = 25;
// 乱数を格納した配列を生成
var arr1 = [];
for(var i = 0; i < maxLength; i++){
arr1.push(Math.round(Math.random()*maxNumber));
}
// *をmaxNumber個並べた文字列を生成
var str1 = "";
for(var i = 0; i < maxNumber; i++){
str1+="*";
}
// 要素を出力
for(var i = 0; i < arr1.length; i++){
WScript.echo(
(" " + i).slice(-2) // 1→" 1", 12→"12"
+ " ("
+(" " + arr1[i]).slice(-2) // 1→" 1", 12→"12"
+") : "
+ str1.slice(0,arr1[i]) // 0番目からarr1[i]まで(arr1[i]は含まれない)を切り出し
);
}
出力結果
0 ( 7) : *******
1 (13) : *************
2 ( 8) : ********
3 (10) : **********
4 ( 8) : ********
5 (22) : **********************
6 ( 5) : *****
7 (19) : *******************
8 ( 0) :
9 (22) : **********************
10 (22) : **********************
11 (25) : *************************
12 (20) : ********************
13 (15) : ***************
14 (21) : *********************
15 (10) : **********
16 ( 5) : *****
17 (11) : ***********
18 (16) : ****************
19 ( 9) : *********
続行するには何かキーを押してください . . .