Contando as Ocorrências de Cada Palavra em um Arquivo de Texto [fechado]

Dado um grande arquivo de texto com várias strings, qual seria a maneira mais eficiente de ler o arquivo de texto e contar quantas ocorrências de cada palavra existem em C ++? O tamanho do arquivo de texto é desconhecido, então não posso usar apenas uma matriz simples. Além disso, há outro problema. Cada linha deste arquivo de texto começa com uma palavra-chave de categoria e as seguintes palavras são os recursos dessa categoria. Eu preciso ser capaz de contar quantas ocorrências de cada palavra está nessa categoria.

Por exemplo:

colors red blue green yellow orange purple
sky blue high clouds air empty vast big
ocean wet water aquatic blue
colors brown black blue white blue blue

Com este exemplo, preciso contar que dentro do "cores"categoria, existem 4 ocorrências de"azul", embora haja 6 ocorrências totais de azul no total.

questionAnswers(3)

yourAnswerToTheQuestion