Найти координату ячейки в массиве символов

Как бы я нашел координату ячейки в 2-мерной таблице символов? Например, если моя таблица будет отображать что-то вроде этого:

  1. ..... @@@@.....
  2. ......... @@@.....
  3. ..... @@@@.....

Я хочу найти второе '@' во втором ряду, так как это даст квадрат 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);
             }
        }
    }

Не уверен насчет того, как найти среднюю ячейку, чтобы получился квадрат с нечетным числом ячеек, извините:(

Другие вопросы по тегам