第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入門講義トップへ