Verificando Elementos
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 37 de 56.
Ao trabalhar com conjuntos, você frequentemente precisa verificar se um elemento específico existe antes de realizar operações nele. O método .count() fornece uma maneira simples de verificar se um elemento está presente em seu conjunto.
Assim como com mapas, o método .count() retorna 1 se o elemento existir no conjunto e 0 se não existir. Isso o torna perfeito para verificações condicionais:
std::set<int> numbers = {10, 20, 30};
if (numbers.count(20)) {
std::cout << "Found 20 in the set!" << std::endl;
} else {
std::cout << "20 is not in the set" << std::endl;
}Esta abordagem é muito mais segura do que tentar acessar elementos diretamente, especialmente quando você não tem certeza se eles existem. Você pode usar .count() para validar a entrada do usuário, evitar erros ou tomar decisões com base no que está armazenado atualmente em seu conjunto.
Desafio
FácilCrie um programa que demonstre como verificar com segurança a existência de elementos em um std::set antes de realizar operações neles. Este desafio testará sua compreensão do método .count() para verificação de elementos.
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando o número de elementos a serem adicionados inicialmente ao conjunto - Em seguida,
nnúmeros inteiros para serem inseridos no conjunto - Um número inteiro
mrepresentando o número de elementos a serem pesquisados - Em seguida,
mnúmeros inteiros para verificar a existência no conjunto
Seu programa deve:
- Criar um
std::set<int>vazio - Ler o número de elementos a serem adicionados e inseri-los no conjunto usando
.insert() - Ler o número de elementos a serem pesquisados
- Para cada elemento de pesquisa, use o método
.count()para verificar se ele existe no conjunto - Imprimir mensagens apropriadas com base no fato de cada elemento ter sido encontrado ou não
- Após todas as pesquisas, imprimir o número total de elementos que foram encontrados
Use o seguinte formato de saída exato:
Para cada resultado de pesquisa:
Searching for [number]: FoundPara elementos não encontrados:
Searching for [number]: Not foundResumo ao final:
Total found: [count] out of [total_searches]Use numbers.count(searchValue) para verificar se um elemento existe no conjunto. Se retornar 1, o elemento existe; se retornar 0, o elemento não existe. Mantenha um contador para rastrear quantos elementos foram encontrados com sucesso durante as operações de pesquisa.
Folha de consulta
Use .count() para verificar se um elemento existe em um conjunto. Ele retorna 1 se o elemento existir, 0 se não existir:
std::set<int> numbers = {10, 20, 30};
if (numbers.count(20)) {
std::cout << "Found 20 in the set!" << std::endl;
} else {
std::cout << "20 is not in the set" << std::endl;
}Este método é mais seguro do que tentar acessar elementos diretamente e é perfeito para verificações condicionais e validação de entrada.
Experimente você mesmo
#include <iostream>
#include <set>
using namespace std;
int main() {
// Lê o número de elementos a serem adicionados ao conjunto
int n;
cin >> n;
// Cria um conjunto vazio
set<int> numbers;
// Lê e insere n elementos no conjunto
for (int i = 0; i < n; i++) {
int element;
cin >> element;
numbers.insert(element);
}
// Lê o número de elementos a serem pesquisados
int m;
cin >> m;
int foundCount = 0;
// TODO: Escreva seu código abaixo
// Para cada elemento de busca:
// 1. Leia o valor de busca
// 2. Use numbers.count(searchValue) para verificar se ele existe
// 3. Imprima a mensagem apropriada
// 4. Atualize foundCount se o elemento for encontrado
// Imprime o resumo
cout << "Total found: " << foundCount << " out of " << m << endl;
return 0;
}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
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