ユーザ名: anonymous

[課題]: ランダムな数値が10個含まれている配列の平均値,最大値,最小値を求めましょう.また,配列の値を棒グラフとして可視化しましょう.

棒グラフの上下が逆になっています.y座標を確認しましょう.

    正解出力:

    Image of problem

    あなたの出力:

    loading...

    あなたのコード:

    1function setup(){
    2  createCanvas(400, 400);
    3  background(240);
    4  let scores = [];
    5
    6  for(let i = 0; i < 10; i++){
    7    scores[i] = random(20, 100); // 60以上100未満のランダムな数を代入
    8  }
    9  console.log(scores);
    10
    11  let sum = 0;
    12  for(let i = 0; i < scores.length; i++){
    13    sum += scores[i];
    14  }
    15  console.log(sum);  
    16
    17  //平均値
    18  let average = sum / scores.length;
    19  console.log(average);  
    20
    21  //最大値
    22  let largest = 0;
    23  for(let i = 0; i < scores.length; i++){
    24    if (largest < scores[i]) {
    25      largest = scores[i];
    26    }
    27  }
    28  console.log(largest);  
    29
    30  //最小値
    31  let smallest = 100;
    32  for(let i = 0; i < scores.length; i++){
    33    if (scores[i] < smallest) {
    34      smallest = scores[i];
    35    }
    36  }
    37  console.log(smallest);
    38
    39  //棒グラフ
    40  const n = 10;
    41  fill(0)
    42  for(let i = 0; i < n; i++){ line(0, height * i / n, width, height * i / n); }
    43  for(let i = 0; i < scores.length; i++){
    44  const dx = width / scores.length;
    45  const h = height * scores[i] / 100;
    46  rect(i * dx + 2, 0, dx - 4, h);
    47  }
    48}
    49

    Console Output: