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