Título: contador de palabras, con funcion que devuelve valor erroneo Publicado por: Angel20810 en 3 Marzo 2017, 01:58 am Código
· Los códigos deben ir en etiquetas GeSHi >aquí las reglas del foro (http://foro.elhacker.net/reglas.htm) -Engel Lex Título: Re: contador de palabras, con funcion que devuelve valor erroneo Publicado por: engel lex en 3 Marzo 2017, 04:23 am tu codigo no tiene mucho sentido para contar palabras, explica que intentas y que error te da
por cierto, Código: fflush(stdin); no se hace lee esto https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html Título: Re: contador de palabras, con funcion que devuelve valor erroneo Publicado por: integeroverflow en 4 Marzo 2017, 15:10 pm Código
lo que intentas es contar las palabras de la frase de esta forma? "asdas asdasda asdsadas asdsad asdasd" retornaria 5? en ese caso, podrias hacer algo asi: Código
lo que hace esta funcion es recorrer caracter por caracter la cadena. si encuentra un espacio, significa que es el fin de una palabra. entonces suma 1 a la cuenta de palabras y sigue buscando. tambien compara el caracter que esta analizando con el ultimo caracter analizado, y si es un espacio lo ignora. esto es para ignorar multiples espacios, de modo que "asd asd asd asd" devuelva el mismo numero de palabras que "asd asd asd asd". a lo ultimo, compara el ultimo caracter leido con un espacio. si es un espacio, retorna el numero de palabras contadas. si no es un espacio retorna el numero de palabras contadas mas uno. por que? porque dijimos que un espacio significaba el final de una palabra. entonces la cadena "asd asd asd" nos daria como resultado 2 palabras, ya que la ultima no tiene ningun espacio que nos haga saber que ahi terminaba una palabra. entonces sumamos uno. en caso de que la cadena termina en un espacio, devolvemos el valor de la cuenta y listo. |