Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > C / C++ > Contar el numero de veces que aparece cada palabra en una frase
-Foros de debate

C / C++
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Contar el numero de veces que aparece cada palabra en una frase
Enviado por Giomfe el día 21 de abril de 2008

Hola a todos, bueno resulta que quiero contar el numero de veces que aparece cada palabra en cada frase de un fichero. Lo mas simple posible. Sera una funcion osea que no tengo k imprimir nada en pantalla ya hare con los resultados otras cosas. es decir,

es decir, si tengo "hola pedro , como estas pedro ?."

hola=1
pedro=2
,=1
como=1
...




Habia pensado cojer una palabra y luego contar desde su posicion las veces que se repite, supongo k habran maneras mucho mejores de hacerlo que esta pero no se me ocurre cual. Podria almacenar primero todas las palabras en un vector y luego para cada palabra recorrer otra vez la frase contando. Pero nose como hacer un vector de palabras la verdad. Me han dicho de usar diccionarios o tablas hash pero no encuentro manuales k m valgan, tampoco me interesa k sea eficiente con k funcione me basta, ya me encargare luego de darle eficiencia.


de hecho, podria usar search_n con palabras?

algo asi habia pensado, un boceto:

...

vector palabra[20];

while(fichero.getline(linea,1024)){

while(linea!="/n" || "."){

palabra[i]= linea[i];

i++}
// ya tengo la palabra, como recorro de nuevo la linea si estoy en teoria en la posicion i ?

while(linea<1024){

//como comparo caracter a caracter y si no corresponde vuelvo a empezar con la posicion 2? uso getchar? existe algun tipo de getword?

//habia pensado en comparar los primeros caracteres, si son iguales avanzo la palabra i sigo comparando, si no lo son avanzo la frase

while(palabra){
if palabra[i] = linea[u] , i++
if

else linea++

}

ando muy perdido se nota no

 

Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network