Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами 3
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
@^WARlock^@
Подскажите.

Будем считать, что предложением является любая последовательность символов, начиная пробелом и заканчивающаяся точкой, восклицательным или вопросительным знаком. Напишите программу, которая определяет кол-во предложений и кол-во слов в текстовом файле.

Я составил задачу, она вроди бы находит кол-во предложений, а принахождении кол-ва слов
она не работает :

Код
uses crt;
var
t,k,i:integer;
f:text;
n:string;
begin clrscr;
assign (f,'c:\1.txt');
reset(f);
read(f,n);
for i:=1 to length(n) do
if (n[i]=' ') and ((n[i-1]='.') or (n[i-1]='!') or (n[i-1]='?')) then
t:=t+1;
{for i:=1 to length(n) do        
if (n[1]=' ') or ((n[i-1])=' ') then    
k:=k+1;                                    
writeln('iscomih slov: ',k);
writeln;}
writeln('iskomih predlog: ',t);
readln;
close(f);
end.
volvo
Цитата(@^WARlock^@ @ 14.08.2006 8:53)
Я составил задачу, она вроди бы находит кол-во предложений
Да? А если будет больше одной строки в файле?

uses crt;
var
t, k, i: integer;
f: text;
n: string;
begin
clrscr;
assign (f,'1.txt');
reset(f);
while not eof(f) do begin

readln(f,n);
for i:=1 to length(n) do
if n[i] in ['.', '!', '?'] then inc(t)
else if ((i > 1) and (n[i] = ' ') and
not(n[i-1] in ['.', '!', '?', ' '])) then inc(k);

end;
writeln('iskomih predlog: ',t, ' slov: ', k+t);
readln;
close(f);
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.