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