Здравствуйте! Прошу помощи по информатике нужно написать программу. " Пользователь вводит текст. Посчитать количество предложений и слов в этом тексте." program go; var s1:string; a,i,k,b:integer; begin writeln('Введите текст')...

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