• Viernes 19 de Abril de 2024, 04:12

Autor Tema:  Contar palabras  (Leído 1176 veces)

party_metal

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Contar palabras
« en: Lunes 9 de Marzo de 2009, 00:33 »
0
Hola estoy haciendo un programa que pida una frase al usuario y cuente las palabras que hay.
He hecho esto pero me doy cuento que si dan mas de 1 espacio entre las palabras me las cuenta mal...
¿Alguién sabe que tengo que añadir para capar eso?

Gracias

Código: Pascal
  1.  
  2. program palabras;
  3. var
  4.  texto:string;
  5. function contarpalabras (cad:string):integer;
  6. var
  7.  cont,i:integer;
  8. begin
  9.  cont:=0;
  10.  for i:=1 to length(cad) do
  11.   if (cad[i]<>' ') then
  12.    read(cad[i])
  13.    else
  14.     if (cad[i]=' ') then
  15.     begin
  16.      cont:=cont+1;
  17.      read(cad[i]);
  18.     end;
  19.  contarpalabras:=cont+1;
  20. end;
  21. begin
  22. writeln('dame la frase');
  23. readln(texto);
  24. writeln('son',contarpalabras(texto),'palabras');
  25. readln;
  26. end.
  27.  
  28.  

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Contar palabras
« Respuesta #1 en: Martes 10 de Marzo de 2009, 17:11 »
0
Haz una función que cuente los espacios y deje sólo uno y listo.

party_metal

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Contar palabras
« Respuesta #2 en: Martes 10 de Marzo de 2009, 22:49 »
0
Ya lo he solucionado.

Gracias!