Частота счета в случайно сгенерированном списке чисел - PullRequest
2 голосов
/ 14 сентября 2009

Я сгенерировал 100 случайных чисел от 0 до 9, я должен подсчитать, сколько раз каждое число появляется. Хранить его в массиве из 10 целых чисел и считать его.

Вот то, что у меня есть, я не могу понять счетную часть.

Random r = new Random();
int[] integers = new int[100];

for (int i=0; i<integers.length; i++)
{
  integers[i] = (r.nextInt(10)+0);
}

Ответы [ 4 ]

9 голосов
/ 14 сентября 2009

Вот подсказка: вам нужно воспользоваться подходом, в соответствии с которым индекс массива представляет сохраняемое число, а значение этого элемента массива равно частоте.

Удачи!

7 голосов
/ 14 сентября 2009
  • Создать массив для отсчетов (т. Е. Массив длиной 10). Значения начнутся как 0 автоматически
  • Выполните итерацию по массиву integers и для каждого элемента увеличьте его текущее значение (т. Е. Текущее значение в "массиве счетчиков" для этого результата)

Я бы предпочел не приводить здесь полный код, поскольку это явно домашнее задание, но если вы опубликуете свой прогресс, мы поможем, если у вас возникнут трудности.

0 голосов
/ 14 сентября 2009

Вы пометили свой вопрос с помощью JavaScript, поэтому вот метод JavaScript, позволяющий узнать, сколько экземпляров случайного числа от 1 до 10 (включительно) вы получите ...

    <div id="output">
        <p>Calculating...</p>
    </div>
    <script type="text/javascript">
    var range = 10;

    var counts = new Array();
    for (i=1; i<=range; i++) {
        counts[i] = 0;
    }

    var ints = new Array();
    for (i=0; i<100; i++) {
        var randomnumber = Math.floor(Math.random()*(range+1));
        ints[i] = randomnumber;
        counts[randomnumber] = parseInt(counts[randomnumber]) + 1;
    }

    var output = "";
    for (i=1; i<=range; i++) {
        output += i + " - " + counts[i] + "<br>";
    }

    document.getElementById("output").innerHTML = output;
    </script>

Обновление - круто - поэтому тег JavaScript был удален. Тогда забудь об этом !!!

0 голосов
/ 14 сентября 2009
int[] count = {0,0,0,0,0,0,0,0,0,0};
for(int i: integers) {
    count[i]++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...