Contar el numero de veces que aparece cada palabra en una frase

Giomfe
21 de Abril del 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