Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > найти номером который пропущен


Автор: OrkZ 18.12.2008, 07:08
есть файл
в нем данные

0<>
1<>
2<>
4<>
8<>
6<>
7<>

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

$file = file('files/number.txt');
$count=count($file);
for($e=0;$e<$count;$e++)
{
$ee = explode('<>', $file[$e]);
if ($count!=$ee[2]){$text=$count;}else{$text=$count+1;}
}
echo $text.'<br>';

но понимаю что это полная фигня, так как это просто дописывает следующий номер, а если учесть что строка может быть удалена то данный код вообще не годится, помогите ...

Автор: pizzz 18.12.2008, 07:39
Код

<?php
$arr=file('number.txt');
foreach($arr AS $k=>$v) {
    settype($v, "integer");
    $arr[$k]=$v;
}
sort ($arr);
reset ($arr);
$i=0;
foreach($arr AS $v) {
    if($i!=$v) {
        echo "Нехватает: " . $i . "<br/>";
    }
    $i++;
}
?>

Автор: OrkZ 18.12.2008, 08:39
pizzz, да но в этом случае как быть с символом <> он то тоже нужен
напимер <>0<>0<>вот тут наша цифра<>

Автор: pizzz 18.12.2008, 10:16
Я не совсем понял задачу. 
Покажите пожалуйста то что у Вас есть, и то что Вы хотите получить.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)