Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

26.05.2010, 09:29
|
|
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
Провел на форуме: 3799424
Репутация:
479
|
|
не вы не поняли. должно по кругу увеличиваться - т.е 0 1 2 3 4 ...
я решил, но хотелось бы увидеть более рациональные решения.
---------------------------------------------------------------
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0
0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0
0 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 0
0 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 0
0 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 0
0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0
0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Последний раз редактировалось #Wolf#; 26.05.2010 в 10:00..
|
|
|

26.05.2010, 10:37
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от #Wolf#
не вы не поняли. должно по кругу увеличиваться - т.е 0 1 2 3 4 ...
я решил, но хотелось бы увидеть более рациональные решения.
---------------------------------------------------------------
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0
0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0
0 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 0
0 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 8 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 0
0 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 0
0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0
0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0
0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
вот это я подзапарился))) с тебя пиво! =)
PHP код:
$x = 7;
$y = 7;
$counter = 0;
$res = Array();
for($m = 0;$m<$x;$m++)
for($n = 0;$n<$y;$n++)
{
$counter = $m<$n?$m:$n;
$res[$m][$n] = $counter;
}
for($m = 0,$j = round($x/2);$m<$j;$m++)
for($n = 0,$i = round($y/2);$n<$i;$n++)
{
$res[$x-$m-1][$y-$n-1] = $res[$m][$n];
$res[$x-$m-1][$n] = $res[$m][$n];
$res[$m][$y-$n-1] = $res[$m][$n];
}
for($m = 0;$m<$x;$m++)
{
for($n = 0;$n<$y;$n++)
{
echo $res[$m][$n].' ';
}
echo '<br />';
}
кстати пару коментов - первый цикл делает матрицу вида
0000
0111
0122
0123
а второй инверсирует левый верхний край.
Последний раз редактировалось Byte_; 26.05.2010 в 10:39..
|
|
|

26.05.2010, 10:58
|
|
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
Провел на форуме: 3799424
Репутация:
479
|
|
хм, забавно.
вот еще такой вариант
PHP код:
function make_square($x){ //не рекомендуется больше 19
for($k=0;$k<=floor($x/2);$k++)
for($i=$k;$i<=$x-$k;$i++)
for($j=$k;$j<=$x-$k;$j++)
if ($i==$k || $j==$k || $j==$x-$k || $i==$x-$k) $a[$i][$j]=$k;
return $a;}
Последний раз редактировалось #Wolf#; 26.05.2010 в 11:01..
|
|
|

26.05.2010, 11:01
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от #Wolf#
хм, забавно.
вот есть такой вариант
PHP код:
function make_square($x){ //не рекомендуется больше 19
for($k=0;$k<=floor($x/2);$k++)
for($i=$k;$i<=$x-$k;$i++)
for($j=$k;$j<=$x-$k;$j++)
if ($i==$k || $j==$k || $j==$x-$k || $i==$x-$k) $a[$i][$j]=$k;
return $a;}
ну вот( а я запаривался... хотя у меня меньше сравнения и итераций =)
-----------------------------------
мой скрипт от 1000 - 0.661491155624 сек
этот более 30 =)
Последний раз редактировалось Byte_; 26.05.2010 в 11:11..
|
|
|

26.05.2010, 15:51
|
|
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме: 217996
Репутация:
56
|
|
вот мой код (сделал от 0 до 100, тормозил только браузер, скрипт работал не больше секунды.. хреновы таблицы  )
PHP код:
function olol0square($i){
if($i>0){
$j=2*$i-1;
$B=array_merge(range(0,$i-1),range($i,0));
$A=array_fill(0,$i,$B);
for($k=0;$k<$i;$k++)
for($l=$k+1,$m=$j-$k;$l<=$m;$l++)
$A[$k][$l]=$k;
$A=array_merge($A,array($B),array_reverse($A));
return $A;
}else return array(array(0));
}
function print_square($arr){
echo "<table>";
foreach($arr as $V){
echo "<tr>";
foreach($V as $v){
echo "<td>$v</td>";
}
echo "</tr>";
}
echo "</table>";
}
print_square(olol0square(5));
upd: без таблиц и ибраузер и скрипт меньше секунды работают, даже если выставить на 500
Последний раз редактировалось roxblnfk; 26.05.2010 в 15:55..
|
|
|

26.05.2010, 16:40
|
|
Новичок
Регистрация: 18.05.2010
Сообщений: 7
Провел на форуме: 236461
Репутация:
0
|
|
Вопрос нуба. Есть инет-магазин. Цены берутся из прайса, что загружается. Но есть позиции на которые цены ставить не нужно, а нужно что то типа "звоните уточняйте".
Как лучше такое организовать?
|
|
|

26.05.2010, 16:58
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме: 444589
Репутация:
123
|
|
нужно смотреть в БД какого типа поле с ценой
Скорее всего оно числовое, я вижу такие варианты решения:
1)Поменять тип поля на символьное и установить значения "?" для товаров с неизвесной ценой (это плохой вариант - БД станет занимать больше места, минус в скорости и могут возникнуть конфликты)
2) поставить для таких товаров цену 0 или -1
3) поставить для таких товаров цену 0 или -1, но на выводе из БД сделать проверку (если цена 0, то выводим "уточните у менеджера")
|
|
|

26.05.2010, 23:24
|
|
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме: 2589211
Репутация:
151
|
|
На одном из сайтов много картинок с русскими буквами в именах.
На домашнем серваке замечательно всё работает
Картинки вида site.ru/картинка.jpg нормально открываются и отображаются.
Залил на хост - там косяк. На картинка.jpg ругается 404-й. На urlencode('картинка.jpg') тоже 404 (и на rawurlencode('картинка.jpg').
Нормально отображается только в виде - %d0%e5%ec%e5%ed%fc%20.jpg
Как привести все названия к такому виду?
Или как заставить сервак нормально отображать их в первозданном виде?
Либы, вроде, одинаковые везде включены. Версии iconv различаются, но хз, может быть из-за этого или нет...
|
|
|

26.05.2010, 23:28
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от FindeR
На одном из сайтов много картинок с русскими буквами в именах.
На домашнем серваке замечательно всё работает
Картинки вида site.ru/картинка.jpg нормально открываются и отображаются.
Залил на хост - там косяк. На картинка.jpg ругается 404-й. На urlencode('картинка.jpg') тоже 404 (и на rawurlencode('картинка.jpg').
Нормально отображается только в виде - %d0%e5%ec%e5%ed%fc%20.jpg
Как привести все названия к такому виду?
Или как заставить сервак нормально отображать их в первозданном виде?
Либы, вроде, одинаковые везде включены. Версии iconv различаются, но хз, может быть из-за этого или нет...
Пройтись в цикле по папке, и переименовать все картинки в транслитерационный вариант.
|
|
|

26.05.2010, 23:41
|
|
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме: 2589211
Репутация:
151
|
|
m0Hze, не как переименовать все, а как привести строку, например, "ремень.jpg" к виду "%d0%e5%ec%e5%ed%fc.jpg". Может, есть функция подобная urlencode...
Да и толку переименовывать, если файлы ещё добавляться будут.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|