Задача №11. Задайте случайным образом массив из 20-ти элементов (целых чисел). Найдите минимальное число и напечатайте его.
Primary tabs
Задача из этого списка.
<?php /* Задайте случайным образом массив из 20-ти элементов (целых чисел). Найдите минимальное число и напечатайте его. */ function createRandomArray($amountElems) { while($amountElems > 0) { $randomArray[] = rand(1, 99); $amountElems--; } return $randomArray; } function findMinNumberInArray($randomArray) { $currentMinNum = $randomArray[0]; //берём минимум из первого числа массива foreach($randomArray as $elem) { if($elem < $currentMinNum) { $currentMinNum = $elem; //перезаписывает текущий минимум, если новое число из массива меньше. } } return $currentMinNum; } $randomArray = createRandomArray(20); $currentMinNum = findMinNumberInArray($randomArray); echo $currentMinNum;
- Log in to post comments
- 5734 reads
melisa
Mon, 07/09/2018 - 16:25
Permalink
замечания
Исправьте.
Sver4ok
Tue, 07/10/2018 - 08:54
Permalink
Исправил
melisa
Tue, 07/10/2018 - 11:37
Permalink
Массив объявлен неверно.
Если Вы напечатаете массив после Вашего присвоения:
то увидите, что в массиве появился элемент, который имеет значение 0. Наша же задача создать пустой массив, без элементов. Это делается так:
Давайте представим, что в функцию передан 0 или число меньше 0. Тогда тело while просто никогда не будет выполнено, и скрипт перейдёт к следующей строке:
Тут-то и вылетает ошибка о том, что скрипт не знает такой переменной.
С другой стороны, если в функцию передано положительное число, объявление массива никак не повредит результату - пустой массив будет переопределён внутри while
в то время как массив может оказаться пустым. Это потенциальная ошибка.
Sver4ok
Tue, 07/10/2018 - 21:24
Permalink
Исправил
Я думал ноль должен показывать был при нуле. Ну если при нуле должен ничего не показывать, то тогда так:
melisa
Wed, 07/11/2018 - 18:59
Permalink
принято
в 4 строке лишние 4 отступа, а так всё верно.
принято