|
|
|
| Не понимаю, почему не работает функция. Она принимает массив, состоящий из ряда 1,2,...,n, в котором пропущено одно число, и должна возвращать недостающее число.
function f_search_2($arr)
{
$max = max($arr);
$count = count($arr);
$flag = true;
for ($j=1; $j<=$max; $j++)
{
for ($i=0; $i<=$count-1; $i++)
{
if ($arr[$i] == $j)
{
$flag = false;
break;
}
}
if ($flag == true)
$missed = $j;
}
return $missed;
}
$mass = array(1,2,3,4,5,7,8,9,10);
echo f_search_2($mass);
|
| |
|
|
|
|
автор: Доброжелатель (03.10.2009 в 15:07) |
|
|
для: Leklerk
(03.10.2009 в 14:45)
| | Может проще банально сравнить результаты max() и count(), или нужен именно индекс, начиная с которого бардак начинается? | |
|
|
|
|
|
|
|
для: Leklerk
(03.10.2009 в 14:45)
| | оператор $flag = true; не на месте. | |
|
|
|