Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/04/2008, 13:52
giomfe
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años
Puntos: 0
Re: Contar el numero de veces que aparece cada palabra en una frase

ook gracias, si mas o menos e hecho algo tirando por ahi
y creo k ya lo tengo, es mejor tu version con punteros asi k lo cambiare, hice algo asi en pseudocodigo faltan cosas k he pensado i tengo k implementar:

palabra[15]

while(xxx getline(linea,1000)){
//marco linea como leida, leidas[]=1
//meto las palabras en el vector de palabras...
// para cada caracter de la linea
for (int u=0; u<1000; u++){
si no es blanco o final
if (linea[u]!= (' '...){
//concateno en "palabra" los caracteres hasta llegar a espacio blanco
sprintf (palabra, "%s%c", palabra, linea[u]);
}
else{
// si es igual a espacio blanco, ok tengo la palbra, y la meto en el vector de palabras (strings)
//tb tengo k comprobar k la palabra no este ya metida...
palabras[m]=palabra;
//formateo vector palabra para posterior uso
for (int v=0; v<15; v++){palabra[v]=' ';}

}
//ya tengo todas las palabras en el vector. Pruebo cuantas veces se repite en la linea
while(palabras){
tengo k ver como funciona search_n k segun m han dicho hace lo k exactamente kiero
numerovecespalabrasenfrase[g]=search_n(parametros);


algo asi.


lo podria optimizar como dices en vez de con tamaños fijos palabra[15] vectorpalabras[500] con punteros i luego haciendo malloc.



peeeeeeeero ahora viene La segunda parte del problema k es la siguiente:

Ahora quiero hacer lo mismo para:

"porque no te callas callas en callas callas"

porque no=1
no te=1
te callas=1
callas callas=2
callas en =1
en callas =1


La cosa se complica jejejej i eso tengo k hacerlo para N es decir, para tamaño 1, tamaño2 tamañño 3... N

Total, ahora mismo estoy bloqueado en esto, nose como arreglar la funcion para ke pille los N tipos de lecturas y los almacene todos.

Habia pensado entonces en 2 matrices, para cada linea:

una para almacenar las palabras, en la primera fila las palabras sueltas, en la segunda las palabras compuestas por 2, en la tercera las palabras compuestas x 3...

una para almacenar las repeticiones, en la primera fila el numero de veces k se repite cada palabra para N=1, en la segunda fila las palabras compuestas x 2...

vy a ponerme a ello

Última edición por giomfe; 21/04/2008 a las 15:04