мм... вообщето должно получится 9... в данном случе.. если так то прямоугольник разширится до 4х3 что будет = 12... вообщем дрянь дело нада придумывать другой алгоритм... PHP: 0 0 2 4 0 0 3 3 для удобства взял начало обеих прямоугольников с начала координат то не всегда так...
Хм...судя по выводу массива,пересчитал сумму всех вложенных массивов у меня получилось 13(4 в первом случаи и 9 во втором) аа...почитал немного вкурил..что-то сразу не понял... Тогда тут вроде алгоритм не так составлен, или второй варинат - я сново не вкурил ------------ |***|##| |***|##| |***|##| |#####| |#####| ------------ Тебе какую область нудн получить? */#? если * то в данном случи у нас полуится 2*2=4 |***| |***| |***| если # то - (3*3)-(2*2)=5 ------------ |##| |##| |##| |#####| |#####| ------------ 9 никак не получается,только есть взять площадь большего прямоугольника. 13 получается при сложении... ------------------ |#####|***| |#####|***| |#####|***| |#####| |#####| ------------- Какой тебе вариант нужно получить?(конечно можно еще перемножить их и т.д.)
нее.. вообщем в файл пишется - координаты левой нижней точки прямоугольника затем координаты правой верхней точки. в строку. 4 числа. строк может быть много. надо посчитать площадь всех прямоугольников, но в случае наслоения площадь наслоения (те участки где они наслоились) должна учитватся только 1 раз... вот у тя 13 получилось один прямоугольник 2*2=4 другой 3*3=9 9+4=13 НО один полностью закрыт другим и его площадь учитывать ненадо. *** ??* ??*
решение было просто до ужоса. мож кому пригодится... PHP: <?php $m=array(); $r=0; function GetPlos($mas) { GLOBAL $m,$r; $res=(($mas[3]-$mas[1])*($mas[2]-$mas[0])); for ($i=$mas[0];$i<$mas[2];$i++) { for ($j=$mas[1];$j<$mas[3];$j++) { if (!isset($m[$i][$j])) { $m[$i][$j]=true; $r++; } } } return $m; } $mfile=file('prams.txt'); $arr=array(); for ($i=0;$i<count($mfile);$i++) { $mas=explode(' ',$mfile[$i]); GetPlos($mas); } echo $r; ?> RedBull@12, большое спасибо что пытался помоч...
MegaDeth, честно не вкурил. Твой скрипт отгда не работает у него во всех значениях получается 1...а в последних по любому должно быть часть нулей Code: Array ( --------[0] => Array ( -------------------------[0] => 1 -------------------------[1] => 1 --------) --------[1] => Array ( -------------------------[0] => 1 -------------------------[1] => 1 --------) ) Array ( ---------[0] => Array ( --------------------------[0] => 1 --------------------------[1] => 1 --------------------------[2] => 1 --------) ---------[1] => Array ( --------------------------[0] => 1 --------------------------[1] => 1 --------------------------[2] => 1 --------) [2] => Array ( --------------------------[0] => 1 --------------------------[1] => 1 --------------------------[2] => 1 --------) ) =>наш скрипт написан не верно. иначе нет вообще смысла в этом скрипте
неее, все как надо работает. вот сам попробуй в файл тхт запиши 0 0 2 4 0 0 3 3 потом написуй на бумаге по клеткам два прямоугольника левый нижний угол - в нач. координат, правый верхний одного - (2,4) второго - (3,3). эти два прямоугольника будут занимать площадь 11 клеток. скрипт выдает праавду )))
MegaDeth, смотри алгоритм,ну который я могу предположить, но пока у меня пробелмы с реализацией: 1-Вычисляем максимальную длину прямоугольника. 1111111 1111111 0000000 0000000 2-Вычисляем максимальную ширину прямоугольника. 1100000 1100000 1100000 1100000 3-Создаем двумерный массив[длина][ширина], все элеменеты в массиве имеют значение 0. по идеи у нас должно получиться что-то типа вот этого: 0000000 0000000 0000000 0000000 4-Далее заполняем/складываем по очереди все прямоугольнки с нашим нулевым массивом. и унас получится что-то типа вот этого: 1111111 1111111 1100000 1100000 5-Дальше смотрим сколько у нас значений TRUE(1). через элелентарный цикл. Ну походу это то что ты хотел получить, полагаю что это не совсем рационально,но елси данный цикл процедура выполняется не слишком часто и нет ограничения по памяти то оптимальный вариант.
RedBull@12, да все норм я сделал с графикой даже ) посути, перед заполнением массива проверяется существование уже имеющаегося ключа и 2 раза не посчитает его счетчик =))) PHP: <?php $m=array(); $r=0; $st=0; $img=imagecreatetruecolor(500,500); $color=imagecolorallocate($img,255,255,255); function GetPlos($mas) { GLOBAL $m,$r,$st,$img,$color; $res=(($mas[3]-$mas[1])*($mas[2]-$mas[0])); //echo $res.'<br>'; $st=$st+$res; $color=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255)); for ($i=$mas[0];$i<$mas[2];$i++) { for ($j=$mas[1];$j<$mas[3];$j++) { //if (!isset($m[$i][$j])) { if (!isset($m[$i][$j])) { $m[$i][$j]=true; $r++; imagesetpixel($img,$i+100,-$j+100,$color); } } } return $m; } $mfile=file('prams.txt'); $arr=array(); for ($i=0;$i<count($mfile);$i++) { $mas=explode(' ',$mfile[$i]); GetPlos($mas); } header('Content-Type: image/png'); imagepng($img); //header('Content-Type: text/html'); echo $r."<br> Общая площадь ".$st; ?>
Нужно вставть скрипт tak.ru (рекламные ссылки) (пример скрипта) <script language="JavaScript" src="http://b80.takru.com/in.php?id=88964"></script> Так вот надо чтобы этот скрипт, появлялся при заходе пользователя на страницу (всплывающее окно), но после того как пользователь нажмет ЗАКРЫТЬ или нажмет по одной из ссылок, всплывающее окно не появлялось. Как это сделать?
КИНГ, По адресу http://b80.tak.ru.com/in.php?id=88964 находится обычная html страница, бесполезно пытаться вставить её как src тега script
код ява скрипта... PHP: function OpenLoad() { var win = window.open('','preview','width=550,height=550,left=0,top=0,screenX=0,screenY=0,resizable=1,scrollbar=0,status=0'); var content = '<script language="JavaScript" src="http://b80.takru.com/in.php?id=88964"></script>'; win.document.write(content); } А дальше в боди пропиши PHP: <body onload="OpenLoad()"> будет работать. По крайне мере должно,у меня работает
КИНГ, как я понял тебе надо чтобы юзвери посещали ту ссылку... Тогда делаеш так... Проверяеш, если в куках takVisit не равно 1 то делай <iframe> размером 1х1 и там загружаеш эту страницу, а в куки пишеш takVisit=1 Надеюсь я понятно объяснил?
Макс 8===3, проще не придумаешь =) PHP: <? $content = '<div id="right"><a href="/f.php">пирсинг фото гениталии</a><br><br><a href="/nz.php">порка фото</a><br><br><a href="/4kz.php">скандальные фото звезд</a><br><br><a href="/ey6.php">фото голых домохозяек</a><br><br><a href="/1.php">фото гостиница россия</a><br><br><a href="/9tt.php">фото фистинга</a><br><br><a href="/kby.php">частное фото эротика</a><br><br><a href="/l9h88.php">групповуха фото</a><br><br><a href="/pd.php">транс фото</a><br><br><a href="/3rf.php">фото димы колдуна</a><br><br><a href="/jp.php">фото италии</a><br><br><a href="/4uyyu.php">фото машины</a><br><br><a href="/ht.php">фото разврат</a><br><br><a href="/3ag4y.php">чечня фото</a><br><br><a href="/mcty.php">видео фото</a><br><br><a href="/xdk.php">огромные сиськи фото</a><br><br><a href="/i.php">порно фото японок</a><br><br><a href="/ozvh.php">срочное фото</a><br><br><a href="/i7.php">трусики фото</a><br><br><a href="/vens7.php">фото с нудисткого пляжа</a><br><br><a href="/z1c.php">фото с пляжа</a><br><br><a href="/cent6zg9i.php"> cent фото</a><br><br><a href="/r683a.php">джессика альба фото</a><br><br><a href="/n.php">любительские эротические фото</a><br><br><a href="/60x.php">модели фото</a><br><br>'; preg_match_all('|<a.+href="(.+)".*>|iU', $content, $urls, PREG_SET_ORDER); foreach( $urls as $url ) { echo($url[1]."<br>\n"); } ?>
Выведет число элементов в массиве... PHP: echo count($ips_array); Хотя как-то слабо понимаю что скрипт делает...
$cnt=0; while(list($k,$v)=each($ips_array)){ $dati_ip=explode(":",$v); $esito=ping($dati_ip[0],$dati_ip[1]); if (strpos($esito,"off.gif")==false) $cnt++; echo $esito; } echo "online-".$cnt;