позвольте говорят, что у нас есть массив [5,5]
01,02,03,04,05
06,07,08,09,10
11,12,13,14,15
16,17,18,19,20
21,22,23,24,25
пользователь должен отправить, 2 значения к функции (запустите, searchFOR), например (13,25), функция должна искать то значение таким образом
07,08,09
12, ,14
17,18,19
если значение будет n't, найденным на этом уровне, то это будет идти уровень выше
01,02,03,04,05
06, , , ,10
11, , , ,15
16, , , ,20
21,22,23,24,25
если массив больше, чем это и значение не сделали нашел, что это перейдет к уровню выше
Спасибо за помощь
<<<<РЕДАКТИРОВАНИЕ>>>> ДЛЯ 25
, , , ,
, , , ,
, , , ,
, , ,19,20
, , ,24,
, , , ,
, , , ,
, ,13,14,15
, ,18, ,
, ,23, ,
, , , ,
,07,08,09,10
,12, , ,
,17, , ,
,22, , ,
01,02,03,04,05
06, , , ,
11, , , ,
16, , , ,
21, , , ,
Предполагая, что это домашнее задание...
Вы заметите, что в массиве 5X5 вы должны сложить/вычесть 5, чтобы двигаться по вертикали, и сложить/вычесть 1, чтобы двигаться горизонтально.
Это работает независимо от вашей начальной позиции в массиве.
Теперь вам просто нужно выяснить, как узнать, когда вы находитесь на грани.
Вам понадобится четыре петли for
, чтобы обойти каждый квадрат, вложенный во внешний цикл. Внешний цикл будет работать с каждым из квадратов. Вы должны иметь возможность использовать число, сгенерированное внешним циклом, чтобы помочь вам с вашими вычислениями во внутренних циклах.
В своем сценарии не могли бы вы немного изменить свою реализацию и начать с чего-то немного другого.
int[] lvl1 = [1, 2, 3, 4, 5, 10, 15, 20, 25, 24, 23, 22, 21, 16, 11, 06]<br/>
int[] lvl2 = [7, 8, 9, 14, 19, 18, 17, 12, 7]<br/>
int[] lvl3 = [13]