Найти координату ячейки в массиве символов
Как бы я нашел координату ячейки в 2-мерной таблице символов? Например, если моя таблица будет отображать что-то вроде этого:
- ..... @@@@.....
- ......... @@@.....
- ..... @@@@.....
Я хочу найти второе '@' во втором ряду, так как это даст квадрат 3х3. Квадраты, которые я пытаюсь найти, состоят из нечетных чисел 3x3, 5x5... И если есть два квадрата одинаковых размеров рядом друг с другом, их нужно разделить.
Я храню все значения в таблице c[row][column]
и думал об использовании mod 2=1
найти нечетное число, но я не уверен, как найти координату и убедиться, что она не повторится, если есть два квадрата рядом друг с другом.
Пока что у меня есть:
for (int r = 0; r < row; r++) {
for (int col = 0; col < column; col++) {
if (c[r][col] != '.') {
if (c[r][col] != '.' && c[r + 1][col] != '.' && c[r + 2][col] != '.') {
if (c[r][col + 1] != '.' && c[r + 1][col + 1] != '.' && c[r + 2][col + 1] != '.') {
if (c[r][col + 2] != '.' && c[r + 1][col + 2] != '.' && c[r + 2][col + 2] != '.') {
System.out.println(r + " " + col);
}
}
}
}
}
}
1 ответ
Ну, вы могли бы сначала просмотреть массив:
for (int i=0; i< row.size; i++){
for (int j=0; j<column.size; j++){
if (c[i][j] != '.'){
System.out.print (i + " " + j);
}
}
}
Не уверен насчет того, как найти среднюю ячейку, чтобы получился квадрат с нечетным числом ячеек, извините:(