что самый легкий путь состоит в том, чтобы сделать эту функцию в c#?

позвольте говорят, что у нас есть массив [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,  ,  ,  ,  
1
задан trrrrrrm 28 May 2010 в 17:37
поделиться

2 ответа

Предполагая, что это домашнее задание...

Вы заметите, что в массиве 5X5 вы должны сложить/вычесть 5, чтобы двигаться по вертикали, и сложить/вычесть 1, чтобы двигаться горизонтально.

Это работает независимо от вашей начальной позиции в массиве.

Теперь вам просто нужно выяснить, как узнать, когда вы находитесь на грани.


Вам понадобится четыре петли for, чтобы обойти каждый квадрат, вложенный во внешний цикл. Внешний цикл будет работать с каждым из квадратов. Вы должны иметь возможность использовать число, сгенерированное внешним циклом, чтобы помочь вам с вашими вычислениями во внутренних циклах.

2
ответ дан 3 September 2019 в 00:18
поделиться

В своем сценарии не могли бы вы немного изменить свою реализацию и начать с чего-то немного другого.

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]
0
ответ дан 3 September 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: