Преобразовать строку, удаляя однобуквенные слова и лишние пробелы - 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.

Объяснение кода листинга программы

  1. Переменная s используется для хранения введенной пользователем строки.
  2. Переменная Sout используется для хранения результата обработки строки.
  3. Переменная t используется для хранения временного значения.
  4. Цикл for выполняется для каждого символа в строке s.
  5. Если символ является пробелом, то проверяется длина переменной t.
  6. Если длина переменной t равна 1 и значение не равно точке, то к переменной t добавляется пробел.
  7. Значение переменной t добавляется к переменной Sout.
  8. Переменная t очищается.
  9. Если символ не является пробелом, то он добавляется к переменной t.
  10. Цикл for повторяется до тех пор, пока длина строки s не станет равной нулю.
  11. Если в строке Sout есть двойные пробелы, то они удаляются.
  12. Выводится полученная строка.
  13. Программа ожидает ввода с клавиатуры.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы