Отформатировать восклицательные знаки в строке - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Замена в строках. Дана строка. Отформатировать восклицательные знаки в строке.

Решение задачи: «Отформатировать восклицательные знаки в строке»

textual
Листинг программы
program z1717811;
 var i:integer;
     s:string;
begin
 cls;
 writeln('Введите текст:');
 readln(s);
 i:=1;
 while i<length(s) do
  if (s[i]=' ') and ((s[i+1]=' ') or (s[i+1]='!'))
   then delete(s,i,1)
   else i:=i+1;
 //if (s[1]=' ') then delete(s,1,1);                        
 //if (s[length(s)]=' ') then delete(s,length(s),1);
 i:=1;
 while i<length(s) do
  begin
   if (s[i]='!') and (s[i+1]<>' ')
    then begin insert(' ',s,i+1); i:=i+1 end;
   i:=i+1;
  end;
 writeln(s)
end.

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

  1. Программа начинается с объявления переменных i и s. Переменная i является целочисленной, а переменная s является строкой.
  2. Выводится сообщение «Введите текст:», чтобы пользователь мог ввести строку.
  3. С помощью функции readln(s) происходит чтение строки из ввода пользователя и сохранение её в переменную s.
  4. Инициализируется переменная i со значением 1.
  5. Запускается цикл while i<length(s) (цикл будет выполняться до тех пор, пока значение переменной i меньше длины строки s).
  6. Внутри цикла проверяется условие: если текущий символ в строке s является пробелом и следующий символ также является пробелом или знаком восклицания, то символ восклицания удаляется из строки.
  7. Если условие не выполняется, то переменная i увеличивается на 1.
  8. После завершения внутреннего цикла, переменная i снова инициализируется со значением 1.
  9. Запускается внешний цикл while i<length(s) (цикл будет выполняться до тех пор, пока значение переменной i меньше длины строки s).
  10. Внутри внешнего цикла проверяется условие: если текущий символ в строке s является знаком восклицания и следующий символ не является пробелом, то знак восклицания заменяется на пробел.
  11. Если условие не выполняется, то переменная i увеличивается на 1.
  12. После завершения внешнего цикла, выводится отформатированная строка s с помощью функции writeln(s).

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


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

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

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