私は「ブルートフォース」ランダムアプローチを使用して、スドクジェネレータを作成しています。私はあなたが原点からすべての3x3の正方形のを確認してくださいここで、(チェック「ボックス」や「地域」を実施することを決定した数独 - 地域テスト
for(l=0; l<9; l++){//Makes all vertical work.
if(sudoku[l][j] == temp){
isUsed=true;
}
}
for(m=0; m<9; m++){//makes all horizontal work
if(sudoku[i][m] == temp){
isUsed=true;
}
}
:私はちょうど良いコードを使用して、重複番号についてのx/y軸をチェックすることができました)私はちょうどコードの周りに私の頭を包むように見えることはできません。これまで私が行ってきたことがあります。私はかなり理解できないところ、私の論理エラーの嘘(記録のためのプログラムは、このコードで実行されますが、適切に領域をチェックしません)regionCheck.javaの
rowbase = i-(i%3);
if(i==2 || i==5 || i==8){
if(rowbase == 0 || rowbase == 3 || rowbase == 6){
isUsed= RegionCheck.RegCheck(rowbase, sudoku);
}
}
内容:
boolean okay = false;
int[] regionUsed = new int[9];
int i=0, j=0, regionTester=0, counter=0, numcount;
for (i=regionTester; i<regionTester+3; i++){
for (; j<3; j++){
regionUsed[counter]=sudoku[i][j];
counter++;
}
}
for(i=0; i<9; i++){
numcount=regionUsed[i];
for(j=0; j<9; j++){
if(j==i){
//null
}
else if(numcount == regionUsed[j]){
okay=false;
}
}
}
return okay;
途中で私はちょうど迷子になり、地域を選択して地域を繰り返す方法を理解していません。ここ
完全なソース:私はアイデアを本当にだとしてhttp://ideone.com/FYLwm
試験のための領域を「選択」し、それを反復処理する単純方法上の任意の助けをいただければ幸いです。
[Javaでの数独作成](http://stackoverflow.com/questions/4477288/creating-a-sudoku-in-java) – Cubbi