0

数独のように、2D 配列をボックスに分割するのに問題があります。ボード オブジェクトに正方形の配列があり、それらを 2x3 または 3x3 のボックスに分割したいと考えています。ボックス オブジェクトには、正方形を追跡するための 1D 配列があります。

k はボックス番号です。9x9 の数独では、ボックスには 0 から 8 までの番号が付けられます。

int l = 0;
for(int i=k*a; i<k*a+a;i++){
        for(int j=k*b;j<k*b+b;j++){
            narray[l]=brd.getSquare(i,j);
            brd.getSquare(i,j).setBox(this);
            l++;
    }

これは最初のボックスを正しく取得しますが、その後はオフになります。私はこれについて何時間も考えてきましたが、頭を包むことができないようです. 誰もこれのためのきちんとしたトリックを持っていますか?

4

3 に答える 3