Sitch Posted February 18, 2014 at 07:57 PM Report #545713 Posted February 18, 2014 at 07:57 PM Boa tarde, estou a fazer um trabalho e uma parte do trabalho é analisar quantas vezes um carácter ocorre, e o numero de vezes em que ocorre em cada palavra, não sei se me fiz entender. Por exemplo, se tivermos uma string : "Será que existe vida após morte?" Se o caracter a analisar for o "e", devemos escrever o resultado num ficheiro, da seguinte maneira: 0 2 ( o caracter "e", não existe em duas palavras ) 1 3 ( o caracter "e", aparece uma vez em 3 palavras, "Será", "que"," morte") 2 1 (o caracter "e", aparece duas vezes apenas numa palavra, "existe") 3 0 ( não há palavras onde o caracter "e", ocorra 3 vezes) 4 0 ( não há palavras onde o caracter "e", ocorra 4 vezes) 5+ 0 ( ( não há palavras onde o caracter "e", ocorra 5 ou mais vezes)) Estou sem ideias de como começar, fiz apenas: String frase = "Será que existe vida após morte?"; String [] s = frase.split(" "); Alguma sugestão? Obrigado
Rui Carlos Posted February 21, 2014 at 12:58 AM Report #546010 Posted February 21, 2014 at 12:58 AM Podes criar um array de 6 posições que conta as palavras com 0 ocorrências, 1 ocorrências, ..., 5+ ocorrências. Depois iteras sobre a lista de palavras que já criaste no teu código, e vais actualizando o array que indiquei anteriormente. O pseudocódigo deve ficar algo como: ocorrencias = {0, 0, 0, 0, 0, 0} for palavra in s contador = 0 for letra in palavra se letra == caracter_a_analizar contador++ ocorrencias[min(contador, 5)]++ Rui Carlos Gonçalves
Sitch Posted February 23, 2014 at 02:43 PM Author Report #546352 Posted February 23, 2014 at 02:43 PM Podes criar um array de 6 posições que conta as palavras com 0 ocorrências, 1 ocorrências, ..., 5+ ocorrências. Depois iteras sobre a lista de palavras que já criaste no teu código, e vais actualizando o array que indiquei anteriormente. O pseudocódigo deve ficar algo como: ocorrencias = {0, 0, 0, 0, 0, 0} for palavra in s contador = 0 for letra in palavra se letra == caracter_a_analizar contador++ ocorrencias[min(contador, 5)]++ Obrigado, consegui resolver o problema.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now