Задача №11 - Вывод минимального числа массива целых чисел

Задачи из этого этого списка

<?php
/* Задайте случайным образом массив из 20-ти элементов (целых чисел). Найдите минимальное число и напечатайте его. */

$N = 20;
$source = [];

echo "Исходный массив целых чисел:". '<br />'; 
   
//Заполнение массива случайными числами
    
for ( $i = 0; $i < $N; $i++ ) {
    $source[$i] = rand( -10, 10 );
    echo $source[$i]." ";   
}

echo '<br />';
echo "Минимальное число массива:". '<br />';

//Вывод минимального числа массива

echo min($source);
?>

Key Words for FKN + antitotal forum (CS VSU):

melisa's picture

предложите вариант решения без использования функции min()

Pavel1989's picture

<?php
/* Задайте случайным образом массив из 20-ти элементов (целых чисел). Найдите минимальное число и напечатайте его. */
$N = 20;
$source = [];
    
//Заполнение массива случайными числами

if ($N > 0) {
    echo "Исходный массив целых чисел:". '<br />';  
    for ( $i = 0; $i < $N; $i++ ) {
        $source[] = rand( -9, 9 );
        echo $source[$i]." ";
   }   
} else {
    echo "Количество элементов массива N должно быть положительным и не равным нулю!";
    exit;
}

echo '<br />';
echo "Минимальное число массива:". '<br />';

// Поиск минимального элемента при помощи пузырьковой сортировки массива

for ($j = 0; $j < $N - 1; $j++){
    for ($i = 0; $i < $N - $j - 1; $i++){
        if ($source[$i] > $source[$i + 1]){
            $tmp_var = $source[$i + 1];
            $source[$i + 1] = $source[$i];
            $source[$i] = $tmp_var;
        }
    }
}

//Вывод минимального элемента массива
                        
echo $source[0];   
?>
vedro-compota's picture

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

_____________
матфак вгу и остальная классика =)

melisa's picture

принято