terça-feira, 5 de fevereiro de 2013

[Programação em C++] Quantidade de substrings

Olá pessoal, nesse post vamos analisar um código em C++ que conta a quantidade de substrings. 

Exemplo: 

String: geeksbrprogramandogeeksbr
Substring: geeks
Quantidade: 2

Duas vezes a substring "geeks" aparece na string "geeksbrprogramandogeeksbr".


Código:


Nas linhas 15, 16, 17 e 18 temos  saída e entrada de dados. O usuário terá que digitar a string e depois a substring que será procurada dentro da string para podermos ter a quantidade de vezes que essa substring aparece na string.

Linha 20: temos a utilização da função find(), passamos a substring, ela vai me retornar a primeira posição que achou a substring na string. Se find() não achar nenhuma ocorrência da substring dentro da string, então ela retornará npos.

Linha 21: temos um while cuja condição é "pos" ser diferente de "npos". Por que isso? Porque, como já foi dito, a função find() retornará npos caso não encontre a substring.

Linha 23: incremento do count que é o nosso contador para contar quantas vezes a substring aparece na string.

Linha 24: chamada novamente da função find() passando uma posição a mais. O que podemos perceber aqui é que primeiro procuramos pela substring a partir da posição 0 da string, depois procuramos a partir da posição 1 e assim sucessivamente até não encontrar mais a substring na string.

Linha 26: exibe a quantidade de vezes que a substring aparece na string.


Nenhum comentário: