バブルソートとクイックソートのソートの過程をアニメーションGIFに出力するプログラムです。 上記の関数で出力を行っています。 SORT_TYPE type ← バブルソートかクイックソートか選択 LPCTSTR lpszFilePath ←[…]

バブルソートとクイックソートの走査カウントと入れ替えカウントをグラフ化するためのプログラムです。 横軸は、ソートする配列の要素数。(MAX = MAX_NUM) 縦軸は、ソートにかかる操作回数(時間) です。複数回試行して平均をとるようにし[…]

クイックソートは一般的に最も多く使われているソートアルゴリズムです。 大まかな処理は、ソートする要素の中から「適当な値」を決め、その値より大きいものと小さいものに分け並べる、 分けられた 2 つのグループに対しても上記のソートを適用し、さら[…]

メルセンヌツイスターを使用したパスワードジェネレーターです。 GitHubにソースをアップしました。 PasswordGenerator ※このプログラムでは、メルセンヌツイスターの出力値をそのまま使用しているため、暗号学的に安全でないとの[…]

複数の要素を大きさの順に並び替えるアルゴリズムの一つにバブルソートがあります。 ソートの手順は次のようなものです。 例えば、2,4、3、1という数字の並びを小さい順に並べるとき、 操作① 第1の数字2と第2の数字4とを比較して小さい順なので[…]

Windows の内部バージョンを取得する API として GetVersion 関数という関数が用意されていますが、この関数は Windows 8 以降マニフェストで対応 OS を明記していないと正しい値を返しません。 代わりに、ntdl[…]

タイトルバーのドラッグ等で動かすことができないウィンドウを作成するには、システムメニュー項目の移動(SC_MOVE)を削除することで実現できます。 この方法の応用で、閉じるボタン(SC_CLOSE)を無効にしたり、サイズ変更(SC_SIZE[…]

15パズルのソースコード。 15パズルは、1から15までの数字をスライドさせ、左上から順に数字をそろえるゲームです。数字の抜けている部分の上下左右をクリックすると数字をスライドすることができます。キーボードの矢印キーでも操作できます。 プロ[…]

メッセージボックス(MessageBox)は標準でディスプレイの中央に表示される挙動ですが、メッセージボックスを親ウィンドウの中央に表示したい場合など任意の位置に表示させるには、フックを使うことでメッセージウィンドウの位置を調整することがで[…]