Преобразовать строку, удаляя однобуквенные слова и лишние пробелы - Free Pascal
Формулировка задачи:
Дана символьная строка, содержащая предложение, заканчивающееся точкой. Преобразовать её, удаляя однобуквенные слова и лишние пробелы.
Решение задачи: «Преобразовать строку, удаляя однобуквенные слова и лишние пробелы»
textual
Листинг программы
var s,Sout,t:string; i:integer; begin write('введите строку:');readln(s); s:=s+' '; Sout:=''; for i:=1 to length(s) do if s[i]=' ' then begin if (length(t)=1) and (t<>'.') then t:=' '; SOut:=SOut+t+' '; t:=''; end else t:=t+s[i]; while pos(' ',SOut)>0 do delete(SOut,Pos(' ',SOut),1); writeln('полученная строка:',Sout); readln; end.
Объяснение кода листинга программы
- Переменная
s
используется для хранения введенной пользователем строки. - Переменная
Sout
используется для хранения результата обработки строки. - Переменная
t
используется для хранения временного значения. - Цикл
for
выполняется для каждого символа в строкеs
. - Если символ является пробелом, то проверяется длина переменной
t
. - Если длина переменной
t
равна 1 и значение не равно точке, то к переменнойt
добавляется пробел. - Значение переменной
t
добавляется к переменнойSout
. - Переменная
t
очищается. - Если символ не является пробелом, то он добавляется к переменной
t
. - Цикл
for
повторяется до тех пор, пока длина строкиs
не станет равной нулю. - Если в строке
Sout
есть двойные пробелы, то они удаляются. - Выводится полученная строка.
- Программа ожидает ввода с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д