Показать сообщение отдельно

  #16062  
Старый 26.05.2010, 10:37
Byte_
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
С нами: 9302285

Репутация: 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].'&nbsp;';
    }
    echo 
'<br />';

кстати пару коментов - первый цикл делает матрицу вида
0000
0111
0122
0123
а второй инверсирует левый верхний край.

Последний раз редактировалось Byte_; 26.05.2010 в 10:39..
 
Ответить с цитированием