Исправить строку так, чтобы каждое предложение начиналось с заглавной буквы - PascalABC.NET
Формулировка задачи:
С клавиатуры вводится строка, состоящая из предложений на русском языке. Каждое предложение заканчивается либо точкой, либо вопросительным знаком, либо восклицательным. Слова отделены друг от друга одним пробелом, в соответствии с правилами русского языка. Исправить строку таким образом, чтобы каждое предложение начиналось с заглавной буквы, а остальные буквы были прописными. Вывести полученную строку на экран.
Решение задачи: «Исправить строку так, чтобы каждое предложение начиналось с заглавной буквы»
textual
Листинг программы
var
UpLetter:boolean;
s:string;
begin
write('Введите строку:');
readln(s);
s:=LowerCase(s);
UpLetter:=true;
for i:integer:=1 to length(s) do
if (UpLetter) and (s[i] in ['а'..'я','ё'])then begin
UpLetter:=false;
s[i]:=UpperCase(s[i]);
end else if s[i] in ['?','.','!'] then UpLetter:=true;
writeln('Полученная строка:',s);
end.
Объяснение кода листинга программы
- Введенная пользователем строка считывается в переменную s.
- Строка приводится к нижнему регистру с помощью функции LowerCase(s).
- Переменная UpLetter инициализируется значением true.
- В цикле происходит проверка каждого символа строки s.
- Если UpLetter равно true и текущий символ является гласной буквой, то UpLetter устанавливается в false, а символ приводится к верхнему регистру с помощью функции UpperCase.
- Если символ является знаком препинания, то UpLetter устанавливается в true.
- Выводится полученная строка.