中級者ためのVisual Studio Community 2022 C++による
マルチスレッド版数独自動生成ソフトの開発解説講座
講義に入る前に、一番下にマルチスレッド版数独自動生成ソフトの体験の仕方が説明してありますから
説明に従ってソフトを体験してから講義の方に入ってください。
本講座は、エクセル2016VBA講義の第5部数独自動生成ソフトに関する講義を
編集して再利用しています。
注 コピペしてエラーする場合にはテキストファイルを開いてコピペしてください。
HTMLファイルをコピペしてエラーするケースは
赤の四角でのところに全角スペースが入っている場合ですので、
赤線の波線が出ている場合はDeleteキーかBackspaceで詰めて
とすればビルドエラーないしはデッバクエラーは回避できます。
尚、ホームページビルダー22だと全角スペースを使ってもビルドエラーはしません。
旧バージョンではエラーしましたからジャストシステムが何か工夫を加えてエラーしないようになっています。
第1講 序章(数独自動生成を実現するための課題)
第2講 試行錯誤法でヒント数0数独の解答を作る(1)
第1話 順列作成プログラム第3講 試行錯誤法でヒント数0数独の解答を作る(2)
第1話 *によってブロックがわかるようにする第4講 ヒントとなる数字が入っている数独を解く!
第1話 全セルリスト構造解析(2023年9月17日に変更しました)
第2話 リスト構造解析をするためのヒント
第3話 セル(0,1)のリスト構造解析(2023年9月17日に変更しました)
第4話 0行のセルリスト構造解析
第5話 全体構造解析 = 全セルリスト構造解析
第6話 候補数字の個数が低い順にランキング2023年9月28日に更新
第7話 候補数字の個数が一番低いセルを探し出して次に入力する欄(セル)を明らかにする2023年9月28日に更新
第8話 部分構造解析が難しい理由
第9話 完成したコードを先に披露!2023年10月8日に更新
第5講 第4講で完成させたプログラムコードの解説
第1話 第4講で完成させたプログラムコードの謎
第2話 Ⅰ.単セル解析(候補数字探索)で行った部分解析はなぜ逆部分解析を必要としないのか①
第3話 Ⅰ.単セル解析(候補数字探索)で行った部分解析はなぜ逆部分解析を必要としないのか②
第4話 Ⅰ.単セル解析(候補数字探索)で行った部分解析はなぜ逆部分解析を必要としないのか③
第5話 トレース①
第6話 トレース②
第7話 トレース③
第8話 Ⅱ.そもそもそのキャンセルとは何か①
第9話 Ⅱ.そもそもそのキャンセルとは何か②
第10話 試行錯誤法第2案
第6講 残された課題の解消とマルチスレッド化
第1話 残された課題
第2話 ランダムの度合いをあげて問題を解いている方が傾向を予想できないようにする
第3話 唯一解または複数解の判定と数独作成時間・数独解法時間の表示
第4話 シングルスレッド数独自動生成ソフトの完成?
第5話 シングルスレッドソフト公開
第6話 C++とVBAの協働
第7話 C++シングル全文
第8話 C++マルチスレッド版全文2023年11月15日訂正
第7講 左右対称・上下対称・点対称にも左右にも上下にも対称(線対称かつ点対称と同じ)・ハート型
第1話 ナンプレ月刊誌はなぜ対称形を選ぶのか?
第2話 よもやま話
第3話 左右対称形・上下対称形を実現するための考え方 2023年10月31日訂正
第4話 左右対称形・上下対称形のコード例 2023年10月31日訂正
第5話 点対称形のコード例 問題を解消することができました。2023年11月3日訂正
第6話 左右にも上下にも対称(完全対称)
第7話 ハート型 2023年11月 6日間違いを訂正
第8講 ハート型・左右上下対称形・点対称形・上下対称性形・上下対称形第2案と問題から解答へ
第1話 ハート型第2案
第2話 左右にも上下にも対称第2案
第3話 点対称第2案
第4話 上下対称第2案
第5話 左右対称第2案
第6話 ソフト作り
第7話 問題から解答へのための課題
第8話 問題から解答を作る方式全文
第9話 関数fと関数sudokukaihoの変更部分
第10話 部分解析解説
第9講 理詰め解法エンジンの開発
第1話 理詰めとは何か
第2話 同じ紙を9枚用意し、それぞれのスレッドが色塗りをする
第3話 色塗りを実現するプログラム
第4話 確かめを派生スレッドで行う!
-----------------------------------------------------
本講座で開発するソフトの体験の仕方
マルチスレッド版数独自動生成ソフト
上の『マルチスレッド版数独自動生成ソフト』をクリックします。
次に、
タスクバーのをクリックして
エクスプローラーを起動して
ダウンロードをダブルクリックします。
すると、sudokuという圧縮ファイルが出てきます。
sudoku右クリックして、
すべて展開をクリックします。
赤い囲いのところをC:\sudoku(コピペしてください)に変更して
展開をクリックします。
すると圧縮ファイルが解凍され、sudokuというフォルダがC:\上に展開されます。
すべてブロックされていますので、以下の手順でブロックを外します。
20をダブルクリック
実行しないをクリック
20のところで右クリック
プロパティをクリック
許可するにチェックマークを入れます。
OKをクリックします。
これでブロックが外れます。
確認のために20をダブルクリックします。
黒い画面が立ち上がればブロックが外されていますので、×をクリックして閉じます。
赤枠の21以下について同様の作業をします。
24あたりになると黒い画面は自動的に閉じられてしまうでしょうが、
黒い画面が立ち上がった時点でブロックは外されていますので問題はありません。
最後のsudokuについてはダブルクリックすると
の画面が現れます。編集を有効にするを押してから
×によって閉じてください。
そして、を右クリックしプロパティをクリックして、
許可するにチェックマークをいれてからOKしてください。
念のためにをもう一度ダブルクリックして
実行ボタンをクリックして数独ができればブロックが外されたことが確認できます。
最後にデスクトップにショートカットを作っておくことをお勧めします。
デスクトップ上で右クリック→新規作成→ショートカットの順に進み
項目の場所をC:\sudoku\sudoku.xlsm(コピペしてください)として次へをクリックして
ショートカットの名前を数独自動生成ソフトなどとして完了ボタンを押せば、
デスクトップに数独自動生成ソフトのショートカットができて、
それをダブルクリックによって、
起動させるとわかりますが、本ソフトは解答場所を2つ用意しています。
失敗してしまったときのためです。
解答場所1を利用すると正答の場合にはB43~J51のすべてのセルが 0 になります。
ですから失敗した場合には問題ないしは解答場所2をコピペする手もあります。
ソフトが起動します。
ヒント数を入力して実行ボタンを押すと
数独が生成されます。
このソフトは100%理詰めで解ける数独を生成しますので
数独を楽しんでください。
-----------------------------------------------------