Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск недостающего числа
 
 автор: Leklerk   (03.10.2009 в 14:45)   письмо автору
 
 

Не понимаю, почему не работает функция. Она принимает массив, состоящий из ряда 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(), или нужен именно индекс, начиная с которого бардак начинается?

  Ответить  
 
 автор: Trianon   (03.10.2009 в 15:17)   письмо автору
 
   для: Leklerk   (03.10.2009 в 14:45)
 

оператор $flag = true; не на месте.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования