|
![]() |
||
Sugestão para programa em C
|
||
. Nós temos 754.120 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Newbie
|
Preciso de uma solução a mais simples possivel, para um programa q faça as seguintes funções:
* ler um arquivo texto no formato ASCII contendo uma notícia escrita na língua inglesa com, no mínimo, 500 palavras. Esta notícia deverá conter somente caracteres alfabéticos minúsculos e não conter pontuação alguma; * o programa deverá ler este arquivo, contar o número de palavras e calcular a Entropia do texto de acordo com a seguinte fórmula: H(x)= - (soma de n termos a partir do 1 p(i) X [log(i) na base 2]) ou seja, a entropia de um evento x, no caso o texto, é a soma do produto das probabilidades de ocorrência de um termo i e do logaritimo destas probabilidades. * calcular a probabilidade acima dividindo o número de ocorrências de um termo i pelo número total de termos A Entropia como definida acima é conhecida como Entropia de Shannon e tenta expressar a aleatoriedade de um texto. É uma medida muito utilizada no campo da Teoria da Informação. Prensei em fazer o cógigo usando srtuc e vetores.... mais num sei combinar estes elementos nessa salada... Qm quiser conversar por msn.. talvez eu esteja online... obrigado |
|
|
|
|
|
#2 (permalink) |
|
Super Participante
|
Código:
mas ja q n se sabe quantas palavras vao ter, seria melhor usar ponteiro ao inves de vetor |
|
|
|
|
|
#3 (permalink) |
|
Tô em todas
Registrado em: Apr 2002
Localização: Paulista/PE
Mensagens: 1.600
Reputação: 76
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
problema não está no numero de palavras mas, no conceito de palavra.
isso já foi bem discutido aqui no forum dê uma pesquisada. para ter uma idéia, uma palavra pode ser "cercada" por caracteres em branco e ai fica facil de contar. ja que não sabe o tamanho do texto, pode usar alocação dinâmica. o resto é matemática... t+ |
|
|
|
|
|
#4 (permalink) |
|
Newbie
|
Interessante esse mecanismo, mas nao seria interesante simplismentw contar o numero de espaços + 1? Caso o seja eliminado as pontuações, basta ultilizar o espaço como "refência"
See ya! 8) 8) 8)
__________________
"No começo apenas observei, depois percebi que valia a pena ajudar as outras pessoas" |
|
|
|
|
|
#5 (permalink) | |
|
GeeK
|
Citação:
__________________
[AMD AM2 Athlon X2 3800+@2.3ghz] [Abit KN9s] [Geforce 6500 (só pra ligar)] [HD SATA2 Seagate 250gb] [HD SATA2 Seagate 500gb] [2gb DDR2 667Mhz] [ST-350BKV] [DVD-RW 4167] Laptop Core2Duo 1.73ghz, 2gb ram, 120gb, dvdrw Ubuntu 7.10 em ambos |
|
|
|
|
|
|
#6 (permalink) |
|
Tô em todas
Registrado em: Apr 2002
Localização: Paulista/PE
Mensagens: 1.600
Reputação: 76
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
o texto é muito simples pelo que o post original falou, sem pontuação, não tem com o que se preocupar....
basta, criar uma variavel controle e pensar em alguns casos especiais que podem enganar o contador, ai fica facil ... |
|
|
|
![]() |
| Opções do Tópico | |
|
|