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

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.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку