Если файл содержит пустые строки, то программа завершается с ошибкой исправить Очень количество слов}
g: Text; {файловая переменная}
s: string;
error: longint;

function count_word_in_string(s1:string ):byte;
var k1,i: byte;{i-переменная цикла, ограниченная длиной строки}
begin
k1 := 0;
i := 0;
repeat {отделение пробелов в начале строки}
inc(i);
until (s1[i]<>' ') or (i>length(s1));
while i begin
repeat {отделение слова}
inc(i)
until (s1[i]=' ') or (i>length(s1));
inc(k1);
repeat {отделение пробелов}
inc(i)
until (s1[i]<>' ') or (i>length(s1));
end;
count_word_in_string:=k1;
end;

begin

Assign(g, cFileName);
{$I-} {Отключаем контроль ошибок ввода/вывода}
Reset(g); {открываем файл для чтения }
{$I+} { Включаем контроль ошибок ввода/вывода }
error := IOResult;
if error <> 0 then
begin
writeln('Error[', error, ']: file not open');
Halt(1);
end;

{цикл чтения файла}
Write('Soderzhimoye fayla: ');
k:=0;
while (error=0) and (not Eof(g)) do
begin
readln(g,s);
writeln(s);
k := k+count_word_in_string(s);
error := IOResult;
end;
if error <> 0 then
Writeln('Error [',error, ']: file write error');
Close(g);
write('Kolichestvo slov v dannom faile ravno ',k);
readln;

end.

Язык программирования Паскаль

Molina121212 Molina121212    2   25.05.2020 13:57    1

Другие вопросы по теме Информатика