по информатике нужно написать программу. " пользователь вводит текст. посчитать количество предложений и слов в этом тексте." 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. при выполнени и моей выдает ошибку выполнения времени. индекс находится вне границ массива..

Мери7788 Мери7788    1   28.07.2019 22:00    0

Ответы
hupri05 hupri05  07.08.2020 16:50
Var   s: string;
        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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика