Recapitulação - Frequência de Palavras
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 29 de 56.
Desafio
FácilCrie um programa que conte a frequência de palavras em um trecho de texto usando um std::map. Seu programa rastreará quantas vezes cada palavra única aparece e, em seguida, informará a frequência de uma palavra específica.
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando o número de palavras no texto - Em seguida,
nstrings representando as palavras no texto - Uma string representando a palavra-alvo para verificar a frequência
Seu programa deve:
- Criar um
std::map<std::string, int>chamadowordCount - Ler o número de palavras
- Para cada palavra, lê-la e atualizar sua contagem no mapa usando o operador de colchetes e o incremento
- Ler a palavra-alvo para verificar
- Imprimir a frequência da palavra-alvo usando o formato mostrado abaixo
Use o seguinte formato de saída exato:
The word "[target_word]" appears [frequency] timesSe a palavra-alvo não existir no mapa, acessá-la com o operador de colchetes criará automaticamente uma entrada com uma contagem de 0, portanto, você pode imprimir a frequência com segurança sem verificar se a palavra existe primeiro. Use wordCount[word]++ para incrementar a contagem de cada palavra conforme você a lê - isso criará novas entradas com contagem 1 para novas palavras ou incrementará as contagens existentes para palavras já vistas.
Experimente você mesmo
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Lê o número de palavras
int n;
cin >> n;
// Cria o mapa para armazenar as frequências das palavras
map<string, int> wordCount;
// TODO: Escreva seu código aqui
// Lê n palavras e atualiza suas contagens no mapa
// Em seguida, lê a palavra alvo e exibe sua frequência
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 Ponteiros4Mapas (Pares Chave-Valor)
Introdução ao std::mapCriando um MapaAcessando e Modificando ValoresVerificando ChavesRemovendo ParesIterando sobre um MapaRecapitulação - Frequência de Palavras2Vetores (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 Tarefa