2013-06-08 2 views
0

Мне нужно создать 2D-массив инкрементирующих целых чисел, в то время как приращение меняет направление по диагонали.
Я сделал так, для N = 4 (строки и столбцы номер), но я не в состоянии создать решение для любого N: http://pastebin.com/XXue4KT8
Инициализировать 2-мерный массив инкрементирующих целых чисел

Пример выходного сигнала:

exmaple

Может ли кто-нибудь дать мне указатели и подсказки? Я не прошу прямого решения.

+0

Неуверенных именно то, что вы хотите, как конечный результат здесь, вы можете показать небольшой пример с объяснение того, что вы имеете в виду? –

+0

Хорошо, вот пример для N = 4: http://i.imgur.com/dlVgpcN.png – Tyrant

ответ

0

Start инициализации вашей матрицы с помощью array_fill():

$matrix = array_fill(0, $n, array_fill(0, $n, 0)); 

Затем пройти через array_map(), установка значение по мере необходимости. Вот пример, который должен генерировать ((1,2),(3,4)) с n = 2: (. В качестве альтернативы, перебирать $matrix[$i][$j] в вложенном для петель)

$i = 0; 
$matrix = array_map(function($row) use ($i) { 
    return array_map(function($val) use ($i) { 
     return ++$i; 
    }, $row); 
}, $matrix); 

Смежные вопросы