広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 61 / 68
配列で集合演算(積集合・差集合)をしよう
このレッスンでは、C言語で配列を使って積集合・差集合を求める方法を学び、集合演算の基本を理解することを目標にします。「C言語 集合演算 実装」で調べている方向けです。
C言語には専用のSet型はありませんが、二重のfor文を使って配列同士を比較することで、「積集合(両方に共通する値)」や「差集合(片方にしかない値)」を求められます。
サンプルコードでは、aとbという2つの配列に対して、内側のfor文で一致する値を探すことで積集合を求めています。1つの値が見つかったらそこで探索を打ち切る工夫も、効率的な実装のポイントです。
初心者がよくつまずくのが、この二重ループの計算量です。配列のサイズが大きくなると処理時間が急激に増加するため、より効率的な実装にはソート済み配列を使う工夫などが必要になります。
実際の開発現場では、「両方のグループに共通するデータ」を見つけたいときなど、限られたメモリの中でこうした処理を効率よく実装する力がC言語プログラミングでは重要です。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
2つのグループの共通点や違いを調べる処理が作れるようになります。
2つのグループの共通点や違いを調べる処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)