Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/11/2013, 09:48
Avatar de Swastik
Swastik
 
Fecha de Ingreso: noviembre-2013
Mensajes: 9
Antigüedad: 11 años, 1 mes
Puntos: 1
Respuesta: contar palabras de una cadena

Cita:
Iniciado por eke_ps Ver Mensaje
necesito contar palabras que hay en una cadena de caracteres

pero la manera en que lo hago no sale
si pongo vacio me salta uno
si pongo 4 palabras me salta 3
y me estoy mareando bastante
les dejo el codgio por si quieren verlo

Código C:
Ver original
  1. void contarPalabras(char cadena[])
  2. {
  3.     int contador = 0;
  4.     int i = 0;
  5.     int largo = strlen(cadena);
  6.     int bolle =0;
  7.  
  8.    
  9.     for( i = 0; i < largo ; i++)
  10.     {
  11.  
  12.         if(cadena[i] == ' ' && cadena[i+1] != ' ')
  13.         {
  14.            
  15.             contador ++;
  16.         }
  17.        
  18.    
  19.     }
  20.  
  21.     printf("la cantidad de palabras es %d \n", contador);
  22. }

Mira lo que veo es que hay que hacer es inicializar el contador en 1 ya que la función es contar los espacios para las palabras, entonces cuando introducimos la palabra lógicamente no hay espacio en el 1er elemento a menos que si le agreguemos espacio.

PD: para que esta int bolle =0;?