| |
|
|
| | Есть три массива:
A = (10,20,30,40,11,21,31);
Б = (50,60,70,41,51,61,71);
В = (80,90,100,81,91,101);
нужно получить один:
Г = (10,20,30,40,50,60,70,80,90,100,11,21,31,41,51,61,71,81,91,101);
т.е. чтобы сначало были все значения, которые распологаются в массивах А,Б,В до того как произойдет скачек на меньшее значение, а потом значения, которые в массивах А,Б,В распологаются начиная от скачка на меньшее значение
реально? | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 15:40)
| | | Устроить проверку: оканчивается ли элемент массива на 0 (если string) или делится ли на 10 (если int).
Сначало переписать в новый массив элементы, удовлетворяющие этому условию, затем не удовлетворяющие. | |
| |
|
|
| |
|
|
| |
для: margol
(24.05.2006 в 15:50)
| | | может быть (10,13,15,9,10,11) | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 16:01)
| | | Честно говоря не поняла, что там у вас за скачок на меньшее значение, опишите правило :-) | |
| |
|
|
| |
|
|
| |
для: margol
(24.05.2006 в 16:04)
| | | сначало идут цыфры до, потом после, но они находятся на разных страницах, я их считываю в массивы
Страница 1
1 | 10 | 11
2 | 20 | 21
3 | 33 | 39
4 | 40 | 41
|
массив получается А
Страница 2
1 | 50 | 51
2 | 60 | 70
3 | 70 | 71
|
массив Б
Страница 3
1 | 80 | 72
2 | 90 | 80
3 | 100 | 90
|
массив В
а мне нужен массив, где сначало все цыфры до, а потом после
p.s. второй столбец всегда начинается с меньшей цыфры, чем заканчивается первый | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 16:16)
| | | Устроить проверку: меньше ли элемент вашей точки скачка, если да - записываем в результирующий. И так по очереди со всеми тремя массивами. А затем снова перебрать все массивы, но уже на предмет поиска в них элементов больших точки скачка и тоже их в результирующий. | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 16:16)
| | |
$v = $a[0]; for($ia = 0; $ia < count($a); $ia++) { if($a[$ia] < $v) break; $d[] = $v=$a[$ia];}
$v = $b[0]; for($ib = 0; $ib < count($b); $ib++) { if($b[$ib] < $v) break; $d[] = $v=$b[$ib];}
$v = $c[0]; for($ic = 0; $ic < count($c); $ic++) { if($c[$ic] < $v) break; $d[] = $v=$c[$ic];}
for(; $ia < count($a); $ia++) $d[] = $a[$ia];
for(; $ib < count($b); $ib++) $d[] = $b[$ib];
for(; $ic < count($c); $ic++) $d[] = $c[$ic];
|
Только, по-моему, проще сперва нормально собрать данные, чем потом восстанавливать их порядок. | |
| |
|
|
| |
|
|
| |
для: Trianon
(24.05.2006 в 16:39)
| | | мошешь собрать по другому? помоги...я намучался, но ничего другого не придумал | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 16:44)
| | | Так а где код, который заполняет A B и C? | |
| |
|
|
| |
|
|
| |
для: Trianon
(24.05.2006 в 16:51)
| | | мой код:
<?php
for ($u=0;$u<3;$u++)
{
spider("http://tutu.ru/station.php?nnst=79310&list=".$u);
}
function spider($uri){
$content=file_get_contents($url);
$text=preg_replace('/(s+)|(&[a-zA-Z0-9#]+;)/', ' ', strip_tags($content));
$links=split("href=",strip_tags($content,'<a>'));
// print_r($links);
$pattern = "|<a href=\"([^\"]+)\"[^>]*>(.*)</a>|isU";
preg_match_all($pattern, strip_tags($content,'<a>'), $out);
echo "<pre>";
print_r($out);
echo "</pre>";}
|
| |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 16:53)
| | | Если это граббинг, то я пас. | |
| |
|
|
| |
|
|
| |
для: Trianon
(24.05.2006 в 17:03)
| | | было же сказано, что значения берутся с трех страниц:)) | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 17:05)
| | | Так а чем не устраивает вариант выше? С шестью циклами? | |
| |
|
|
| |
|
|
| |
для: Trianon
(24.05.2006 в 17:07)
| | | я не говорил, что он меня не устраивает:)) просто если бы можно было сразу собрать правильно...были бы лучше, а так я взял эти шесть циклов, спасибо | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 15:40)
| | | Помоему их надо соединить, потом отсортировать и все =) | |
| |
|
|
| |
|
|
| |
для: CrazyAngel
(24.05.2006 в 15:53)
| | | Тогда будет
Г = (10,11,20,21,30,31,40,41,50,51,60,61,70,71,80,81 и т.д.); | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 16:02)
| | | =))) есть разные методы сортировки =) | |
| |
|
|
| |
|
|
| |
для: CrazyAngel
(24.05.2006 в 16:32)
| | | может что то я не знаю:))) подберите такой, который меня устроит;) | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 16:33)
| | | Сорри, больше так не буду =))) неразобравшись советовать =)))
Еще раз Сорри | |
| |
|
|
| |
|
|
| |
для: CrazyAngel
(24.05.2006 в 16:41)
| | | :))))))))))))) | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 15:40)
| | | а я бы создал еще 2 массива: все до скачка засунул в первый, после скачка во второй... потом отсортировать и соединить :)
или больше массивов нельзя?? | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(24.05.2006 в 16:03)
| | | можно, даже через файлы или бд можно | |
| |
|
|
| |
|
|
| |
для: P@Sol
(24.05.2006 в 15:40)
| | | а если через файлы? как можно записать в середину файла? | |
| |
|
|