Menu
Coddy logo textTech

Criar Conjunto e Adicionar Elementos

Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 36 de 56.

Agora que você sabe o que é um set, vamos aprender como criar um e adicionar elementos a ele. Para adicionar elementos a um std::set, você usa o método .insert().

Veja como criar um conjunto vazio e adicionar elementos:

std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);

A característica mais importante dos sets é que eles rejeitam duplicatas automaticamente. Se você tentar inserir o mesmo valor duas vezes, o set permanece inalterado:

numbers.insert(5);  // Isso não adicionará outro 5
numbers.insert(5);  // Nem isso

Após todas essas inserções, seu conjunto conterá apenas três elementos únicos: 2, 5 e 8 (ordenados automaticamente). As tentativas duplicadas de inserir 5 são simplesmente ignoradas, o que é exatamente o que torna os conjuntos tão úteis para manter coleções de dados únicos.

challenge icon

Desafio

Fácil

Crie um programa que demonstre o recurso de elementos únicos do std::set adicionando vários números inteiros a um conjunto, incluindo valores duplicados, e depois exibindo o tamanho final para provar que as duplicatas são ignoradas automaticamente.

As seguintes entradas serão fornecidas:

  • Um número inteiro n representando a quantidade de inteiros a serem inseridos
  • Em seguida, n inteiros para serem inseridos no conjunto

Seu programa deve:

  1. Criar um std::set<int> vazio
  2. Ler o número de inteiros a serem inseridos
  3. Usar um loop para ler cada inteiro e inseri-lo no conjunto usando o método .insert()
  4. Após todas as inserções, imprimir o tamanho final do conjunto usando o método .size()
  5. Imprimir uma mensagem mostrando quantas tentativas de duplicatas foram ignoradas

Use o seguinte formato de saída exato:

Set size: [final_size]
Duplicates ignored: [number_of_duplicates]

O número de duplicatas ignoradas deve ser calculado como a diferença entre o número total de tentativas de inserção e o tamanho final do conjunto. Isso demonstra que os conjuntos mantêm automaticamente a unicidade ao rejeitar valores duplicados, que é sua principal característica para armazenar coleções de elementos únicos.

Folha de consulta

Para criar um conjunto e adicionar elementos, use .insert():

std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);

Conjuntos rejeitam duplicatas automaticamente - inserir o mesmo valor várias vezes mantém apenas uma cópia:

numbers.insert(5);  // Isso não adicionará outro 5
numbers.insert(5);  // Nem isso

Use .size() para obter o número de elementos únicos no conjunto.

Experimente você mesmo

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

int main() {
    // Leia o número de inteiros a serem inseridos
    int n;
    cin >> n;
    
    // Crie um conjunto vazio
    set<int> mySet;
    
    // TODO: Escreva seu código aqui
    // Use um loop para ler n inteiros e inseri-los no conjunto
    // Calcule quantos duplicados foram ignorados
    
    // Exiba os resultados
    cout << "Set size: " << mySet.size() << endl;
    cout << "Duplicates ignored: " << /* calcule os duplicados */ << endl;
    
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo