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) : *********
続行するには何かキーを押してください . . .

いいなと思ったら応援しよう!