私の問題を簡単にまとめると、欠落している値が 1 つあるかどうか、各 3x3 ボックスをチェックしています。欠落している値がある場合は、その数値を計算し、その数値を入力します。ただし、左上の 3x3 ボックスのみを行います。 、そこで止まります。これは、私の問題に関連するコードのスニペットです。残りのコードを見たい場合は、質問してください。残りを投稿します。
編集: ユーザーがボードを入力します。テスト目的で、完成した数独パズルを入力して、各ボックスの右上の値を取り出してみました。最初の 3x3 のみを埋め、最後にボードを出力しましたが、他に 8 つの空白を埋める必要がありました (他の 8 つの 3x3 ボックスから)。
% Check each 3x3 box for one through nine, fill in
for i = 0:2
for j = 0:2
if sum(sum(board([1:3]+i*3,[1:3]+j*3)~=0))==8
[row,col] = find(board([1:3]+i*3,[1:3]+j*3)==0);
answer = 45 - sum(sum(board([1:3]+i*3,[1:3]+j*3)));
board(row,col) = answer;
end
end
end
disp(board);