Подсчитать количество предложений и количество слов в предложении - Pascal
Формулировка задачи:
Слова в предложении разделены пробелом. В конце предложения точка. Подсчитать количество предложений и количество слов в предложении. (ввод предложений с клавиатуры)
Проблема с кодом:
Количество предложений считает правильно а слова не считает...в чем загвоздка?
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var s:string; a,b,i:integer; begin writeln('Vvedite'); write(s); readln(s); a:=0; b:=1; for I := 0 to length(s) do if s[i]='.' then begin a:=a+1 ; end; if s[i]=' ' then begin b:=b+1 ; end; writeln('Otvet'); writeln('predl=',a); writeln('slov=',b); readln; end.
Решение задачи: «Подсчитать количество предложений и количество слов в предложении»
textual
Листинг программы
var s: String; i, countWord, countSent: Byte; inWord: Boolean; begin countSent := 0; countWord := 0; inWord := False; Write('Input string: '); ReadLn(s); for i := 1 to Length(s) do begin if ((inWord) And (s[i] = ' ')) then begin Inc(countWord); end; if (s[i] = '.') then begin Inc(countSent); if (inWord) then Inc(countWord); WriteLn(countSent, ' sentence: ', countWord, ' words.'); countWord := 0; end; inWord := Not (s[i] in [' ', '.']); end; end.
Объяснение кода листинга программы
- Объявляется переменная
s
типа String, и переменныеi
,countWord
,countSent
типа Byte, а также переменнаяinWord
типа Boolean. - Устанавливаются начальные значения:
countSent
равен 0,countWord
равен 0,inWord
равен False. - Выводится приглашение
Input string:
, после чего пользователь вводит строку, которая присваивается переменнойs
. - Запускается цикл по строке
s
. Для каждого символа строки выполняются следующие действия:- Если
inWord
равно True и текущий символs[i]
равен пробелу, то увеличиваем значениеcountWord
на 1. - Если текущий символ
s[i]
равен точке '.', увеличиваем значениеcountSent
на 1, еслиinWord
равно True, увеличиваем значениеcountWord
на 1, после чего выводим количество предложений и слов для текущего предложения и сбрасываемcountWord
в 0. - Переменной
inWord
присваивается значение, обратное тому, является ли символs[i]
пробелом или точкой.
- Если
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д