第8講 数独の問題を解くプログラムVer(−1)
第3話 Sub sakuseiの改良後半
最後に、予告しておいた
If mah(i, j) > 0 Then
If g + 1 < hs Then
sakusei (g + 1)
Exit Sub
Else
cn = 1
hyouji
Exit Sub
End If
End If
の説明をします。
| ** | ** | ** | ** | ** | *4 | *5 | *8 | ** |
| 4 | 9 | ** | ** | ** | ** | ** | 6 | ** |
| 8 | ** | 1 | ** | 2 | ** | 4 | ** | ** |
| 6 | ** | ** | ** | 4 | ** | ** | ** | ** |
| ** | ** | 2 | 1 | ** | 5 | 8 | ** | ** |
| ** | ** | ** | ** | 8 | ** | ** | ** | 9 |
| ** | ** | 8 | ** | 5 | ** | 3 | ** | 7 |
| ** | 7 | ** | ** | ** | ** | ** | 4 | 6 |
| ** | 4 | 9 | 2 | ** | ** | ** | ** | ** |
これはすでに数字が入っているセルをスルー(飛ばす)ための処理です。
| *0 | *1 | *2 | *3 | *4 | *4 | *5 | *8 | *8 |
| 4 | 9 | ** | ** | ** | ** | ** | 6 | ** |
| 8 | ** | 1 | ** | 2 | ** | 4 | ** | ** |
| 6 | ** | ** | ** | 4 | ** | ** | ** | ** |
| ** | ** | 2 | 1 | ** | 5 | 8 | ** | ** |
| ** | ** | ** | ** | 8 | ** | ** | ** | 9 |
| ** | ** | 8 | ** | 5 | ** | 3 | ** | 7 |
| ** | 7 | ** | ** | ** | ** | ** | 4 | 6 |
| ** | 4 | 9 | 2 | ** | ** | ** | ** | ** |
例えば、
| *4 | *5 | *8 |
のところはスルーして、
| *4 |
から
| *8 |
に飛ぶための処理なのです。
| *4 | *5 | *8 |
のところは問題ですから、ここはいじってはいけないわけですから。
第2話へ
VB入門講義応用編トップへ
VB入門講義トップへ