0

2D char テーブルのセルの座標を見つけるにはどうすればよいですか。たとえば、私のテーブルが次のように表示されるとします。

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

これは 3x3 の正方形を生成するため、2 行目の 2 番目の「@」を見つけたいと考えています。私が見つけようとしている正方形は、3x3、5x5 の奇数でできています...そして、同じ寸法の 2 つの正方形が隣り合っている場合は、それらを分離する必要があります。

すべての値をテーブルに格納していて、奇数を見つけるためc[row][column]に使用することを考えましたが、どのように座標を見つけて、2 つの正方形が隣り合っている場合に繰り返されないようにするかわかりません。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);
                    }
                }
            }
        }
    }
}
4

1 に答える 1

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

真ん中のセルを見つける方法がわからないので、セルの数が奇数の正方形になります。申し訳ありません:(

于 2016-02-09T17:55:22.343 に答える