Как я могу рассчитать минимальные, максимальные и средние значения из случайных чисел? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть следующий код:

<?php
echo "<p>Exercise 5:</p>";

echo "Numbers: ";

$random = 0;

while ($random < 10) {
    $rand = rand(2, 80);
    echo "$rand";

    $random = $random + 1;

    if ($random < 10) {
     echo ", ";
    };
}

echo "<br><br>Min value: <br>";
echo "Max value: <br>";
echo "Average value: <br>";
?>

Как рассчитать минимальное, максимальное и среднее значение для 10 чисел?

$min = min($rand) не работает ...
$max = max($rand) тоже не работает ...

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Одним из решений, рассматривающих деление на ноль, может быть:

$random = 0;
$numbers = array();
while ($random < 10) {
    $rand = rand(2, 80);
    echo "$rand";

    $numbers[] = $rand;

   $random ++;
}

$min = min($numbers);
$max = max($numbers);
if($totalNumbers = count($numbers) > 0) {
    $average = array_sum($numbers) / count($numbers);
}else{
    $average = 0;
}


echo "<br><br>Min value: $min <br>";
echo "Max value: $max <br>";
echo "Average value: $average <br>";

Я не понимаю, почему min или max не работает, но в этом случае вы могли бы сделать собственную функцию max min:

function customMaxMin($numbers)
{

    $max = 0;
    $min = 0;

    foreach ($numbers as $number) {

        $max = $number;
        $min = $number;

        if ($max > $number) {
            $max = $number;
        }
        if ($min < $number) {
            $min = $number;
        }

    }


    return array('max' => $max, 'min' => $min);

}
0 голосов
/ 30 ноября 2018

$rand - это одно значение, минимум одного значения не имеет значения.Min принимает массив в качестве параметра (или несколько значений), поэтому сохраняйте значения в массиве, например, так.

$array = array();

while($random < 10) {
    $rand = rand(2, 80);
    $array[] = $rand;
    $random++; // short for random = random + 1
}

echo min($array);

Работает также с макс.

Более того, среднее = сумма /считайте, у вас есть array_sum и count функция в PHP, я позволю вам выяснить, как это сделать.

Edit : Августин право делении на ноль.Попробуйте добавить условие при делении на переменную.

...