Menu
Coddy logo textTech

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.

challenge icon

Desafio

Fácil

Crie 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 n representando o número de elementos a serem adicionados inicialmente ao conjunto
  • Em seguida, n números inteiros para serem inseridos no conjunto
  • Um número inteiro m representando o número de elementos a serem pesquisados
  • Em seguida, m números inteiros para verificar a existência no conjunto

Seu programa deve:

  1. Criar um std::set<int> vazio
  2. Ler o número de elementos a serem adicionados e inseri-los no conjunto usando .insert()
  3. Ler o número de elementos a serem pesquisados
  4. Para cada elemento de pesquisa, use o método .count() para verificar se ele existe no conjunto
  5. Imprimir mensagens apropriadas com base no fato de cada elemento ter sido encontrado ou não
  6. 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]: Found

Para elementos não encontrados:

Searching for [number]: Not found

Resumo 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;
}
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