広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 64 / 68
アナグラムかどうかを判定しよう
このレッスンでは、C言語でアナグラムかどうかを判定する方法を学び、文字列を並び替えて比較する処理の書き方を理解することを目標にします。「C言語 アナグラム判定 実装」で調べている方向けです。
アナグラムとは、同じ文字を並び替えて作れる別の単語のことです(例: listen と silent)。両方の文字列の文字を並び替えて一致するか比べれば判定できます。
サンプルコードでは、qsort()という標準ライブラリの関数を使って文字を並び替え、cmp()という比較関数を自分で定義してqsortに渡しています。並び替え後の文字列同士を比較する流れに注目してみましょう。
初心者がよくつまずくのが、qsort()の比較関数の書き方です。void *型の引数をキャストして中身を取り出す必要があり、他の関数と比べて独特な書き方に慣れが必要です。
文字列の並び順を無視して比較したいときに使える基本テクニックで、簡単な暗号解読ゲームの実装にも応用できます。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
単語の並び替え(アナグラム)を判定する、簡単な言葉遊びゲームが作れるようになります。
単語の並び替え(アナグラム)を判定する、簡単な言葉遊びゲームが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)