Я работаю над методом поиска слова в сетке словесной головоломки.
Буквы помещаются в матрицу. Метод должен распечатать строку и столбец, в которых была найдена первая буква слова, и направление (n, s, e, w, ne, nw, se, sw), в котором идет шаблон.
В настоящее время у меня есть метод:
public static String wordSearch(int r, int c, String letters, String search){
int x[] = { -1, -1, -1, 0, 0, 1, 1, 1 };
int y[] = { -1, 0, 1, -1, 1, -1, 0, 1 };
char [][] puzzle = new char [r][c];
int count = 0;
for (int i = 0; i < r; i++){
for (int j = 0; j < c; j++){
puzzle[i][j] = letters.charAt(count);
count++;
}
}
int length = search.length();
for (int dir = 0; dir < 8; dir++)
{
int k;
int rd = r + x[dir];
int cd = c + y[dir];
for (k = 1; k < length; k++)
{
rd += x[dir];
cd += y[dir];
}
if (k == length)
return rd+ ", "+cd;
}
return "Not found";}
Проблема заключается в том, чтобы выяснить, как вернуть направление, в котором шаблон идет вместе с первой буквой слова (он прошел только один тест). Однако я уверен, что этот метод может определить, находится ли слово в сетке или нет.