
26.05.2010, 10:37
|
|
Участник форума
Регистрация: 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].' ';
}
echo '<br />';
}
кстати пару коментов - первый цикл делает матрицу вида
0000
0111
0122
0123
а второй инверсирует левый верхний край.
Последний раз редактировалось Byte_; 26.05.2010 в 10:39..
|
|
|