Robson » Little Red Book » Smallest and largest

Chapter 3 - Question 6

Design a program to process a sequence of non-negative integers, terminated by a single negative value and output the smallest and largest value in the sequence.

Solution 1

Even though this problem is in the loops section, it doesn't need a loop to work out the smallest and largest values because PHP has some excellent array functions.

<?    // generate a random number of random numbers    for ($n = 0; $n < mt_rand(5, 20); $n++)        $sequence[] = mt_rand(1, 50);            // add the terminator    $sequence[] = -1;            // show the sequence    echo 'Sequence: ' . implode(', ', $sequence) . '<br/>';        // sort the sequence of numbers    sort($sequence);        // show the smallest and largest    echo 'Smallest: ' . $sequence[1] . '<br/>Largest: ' . array_pop($sequence);         ?>

Which produces:

Sequence: 15, 47, 45, 39, 28, 50, 47, -1
Smallest: 15
Largest: 50

Log

© 2004-20 robson | cc unless stated