Recapitulação - Números Únicos
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 40 de 56.
Desafio
FácilCrie um programa que leia uma série de números inteiros e use um std::set para filtrar automaticamente as duplicatas e, em seguida, imprima a contagem de números únicos. Isso demonstra a principal vantagem dos conjuntos (sets) - manter coleções de elementos únicos sem a necessidade de verificação manual de duplicatas.
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando quantos números serão inseridos - Em seguida,
nnúmeros inteiros a serem processados
Seu programa deve:
- Criar um
std::set<int>vazio - Ler o número de inteiros que serão inseridos
- Usar um loop para ler cada número inteiro e inseri-lo no conjunto usando o método
.insert() - Após processar todos os números, usar o método
.size()para obter a contagem de números únicos - Imprimir o resultado mostrando quantos números únicos foram encontrados
Use o seguinte formato de saída exato:
Unique numbers: [count]O conjunto lidará automaticamente com a remoção de duplicatas - quando você tenta inserir um número que já existe, o conjunto ignora a inserção duplicada. Isso significa que você não precisa verificar manualmente se há duplicatas; basta inserir todos os números e deixar que o conjunto mantenha a unicidade para você. O tamanho final do conjunto representa exatamente quantos números distintos estavam na entrada.
Experimente você mesmo
#include <iostream>
#include <set>
using namespace std;
int main() {
// Lê o número de inteiros
int n;
cin >> n;
// Cria um conjunto vazio para armazenar inteiros únicos
set<int> uniqueNumbers;
// TODO: Escreva seu código aqui
// Use um loop para ler n inteiros e inseri-los no conjunto
// Exibe o resultado
cout << "Unique numbers: " << uniqueNumbers.size() << endl;
return 0;
}Todas as lições de Lógica & Fluxo
1Ponteiros e Memória
O que é um Ponteiro?Operador de EndereçoOperador de DesreferenciaçãoPonteiros NulosPonteiros e ArraysMemória Dinâmica com 'new'Liberando Memória com 'delete'Recapitulação - Prática com Ponteiros2Vetores (Arrays Dinâmicos)
Introdução ao std::vectorCriando um VetorAdicionando ElementosAcessando ElementosTamanho do VetorIterando com um Loop ForLoop For Baseado em IntervaloRemovendo ElementosRecapitulação - Operações com Vetores3Projeto: Ferramenta de Lista de Tarefas
Visão Geral do ProjetoAdicionando uma Tarefa6Conjuntos (Elementos Únicos)
Apresentando o std::setCriar Conjunto e Adicionar ElementosVerificando ElementosRemovendo ElementosIterando sobre um ConjuntoRecapitulação - Números Únicos