Pascal/Turbo Pascal - contar palabras de un archivo de texto

   
Vista:

contar palabras de un archivo de texto

Publicado por oriana (2 intervenciones) el 14/07/2009 07:07:28
hola a todos pues bueno al igual que a varios necesito ayuda con pascal xD!.... bueno tengo una duda que es como hago para contar palabras de un archivo de texto ¿?? esto es lo que yo llevo:

assign(prueba,ruta);
reset(prueba);

while not eof(prueba) do
begin

read(prueba,ch);
write(prueba);

end;
close(prueba);

por supuesto esto lleva sus variables y contantes pero bueno la cosa es como yo hago para contar las palabras de ese archivo de texto existente ps tenia una idea ya ps pero no me funciono se que con los espacios de cada palabra es que se cuentan pero...¿? intente algo pero no me funciono y vi algo aqui mismo en otro tema pero muestra cuando se ingresan las palabras por pantalla y muestra el resultado pero yo no lo quiero asi ps lo quiero hacer internamente y que salga de una vez el resultado por pantalla ........ porfas ayudenme en esta!! pliss! se los agradeceria mucho!! ;-)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:contar palabras de un archivo de texto

Publicado por Diego Romero (997 intervenciones) el 14/07/2009 19:36:37
Tienes un par de errores.

Suponiendo que "prueba" es de tipo text y "ch" es de tipo string, para leer una línea del archivo de texto se usa readln(prueba, ch) y no read(). readln lee hasta el primer retorno de carro (caracter #13) que encuentra en el archivo, es decir, una línea a la vez, y la almacena en "ch" que, si es de tipo string, luego podrías hacer algo como:

if length(ch) > 0 then { determina la cantidad de caracteres del contenido de ch }
begin
for i:=1 to length(ch)-1 do
begin
if (ch[i] =#32) and (ch[i+1] >= #64) then { si el caracter actual es espacio y el siguiente es mayor o igual a la 'a' }
palabras:=palabras+1;
end;
end;

Esto es muy burdo pero es más o menos la idea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar