2016-02-09 2 views
0

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

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

Я хочу, чтобы найти второй «@» во втором ряду, так как это будет производить квадрат 3х3. Квадраты Im, пытающиеся найти, сделаны из нечетных чисел 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); 
        } 
       } 
      } 
     } 
    } 
} 
+0

Не могли бы вы обновить свой вопрос тем, что вы сделали до сих пор? – aribeiro

+0

@aribeiro там вы идете – Jaskowaty

ответ

0

Ну вы можете посмотреть через массив первого:

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); 
      } 
     } 
    } 

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

Смежные вопросы