Menu
Coddy logo textTech

まとめ:重複のない数値

CoddyのC++ジャーニー「論理と制御フロー」セクションの一部 — レッスン 40/56。

challenge icon

チャレンジ

簡単

一連の整数を読み込み、std::set を使用して重複を自動的に取り除き、一意の(ユニークな)数値の数を出力するプログラムを作成してください。これは、手動で重複チェックを行うことなく、一意の要素のコレクションを維持するという、セット(集合)の主な利点を示すものです。

以下の入力が提供されます:

  • 入力される数値の数を示す整数 n
  • その後に処理される n 個の整数

プログラムの要件:

  1. 空の std::set<int> を作成する
  2. 入力される整数の数を読み込む
  3. ループを使用して各整数を読み込み、.insert() メソッドを使用してセットに挿入する
  4. すべての数値を処理した後、.size() メソッドを使用して一意の数値の数を取得する
  5. 見つかった一意の数値の数を示す結果を出力する

以下の正確な出力形式を使用してください:

Unique numbers: [count]

セットは重複の削除を自動的に処理します。すでに存在する数値を挿入しようとすると、セットはその重複した挿入を無視します。つまり、手動で重複をチェックする必要はありません。単にすべての数値を挿入するだけで、セットが自動的に一意性を維持してくれます。セットの最終的なサイズは、入力に含まれていた個別の数値の数を正確に表します。

自分で試してみよう

#include <iostream>
#include <set>
using namespace std;

int main() {
    // 整数の数を読み込む
    int n;
    cin >> n;
    
    // 一意の整数を格納するための空のセットを作成する
    set<int> uniqueNumbers;
    
    // TODO: ここにコードを記述してください
    // ループを使用してn個の整数を読み込み、セットに挿入します
    
    // 結果を出力する
    cout << "Unique numbers: " << uniqueNumbers.size() << endl;
    
    return 0;
}

論理と制御フローのすべてのレッスン