Преобразовать строку, удаляя однобуквенные слова и лишние пробелы - 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
есть двойные пробелы, то они удаляются. - Выводится полученная строка.
- Программа ожидает ввода с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д