по информатике нужно написать программу. " пользователь вводит текст. посчитать количество предложений и слов в этом тексте." program go; var s1: string; a,i,k,b: integer; begin writeln('введите текст'); begin; readln(s1); a: =length(s1); if a> 0 then begin b: =1; while a> 0 do begin if s1[i]='b' then b: =b+1; i: =i-1; end; end else b: =0; writeln('количество слов в тексте',b); end; begin; readln(s1); a: =length(s1); for i: =1 to a do if s1[i]='.' then if s1[i+1]=' ' then k: =k+1; end; writeln('в тексте ',k,' предложений..'); end. при выполнени и моей выдает ошибку выполнения времени. индекс находится вне границ массива..
i,k,c: integer;
begin
write('Введите текст: ');
readln(s);
i := length(s);
k:=0;
for i:=1 to length(s) do
if s[i] in ['.','?','!'] then inc(k);
if i > 0 then begin
c := 1;
while i > 0 do begin
if s[i] = ' ' then
inc(c);
dec(i);
end;
end
else
c := 0;
writeln('Количество слов в тексте: ', c);
writeln('Количество предложений в тексте: ', k);
end.