Удалить из строки слова, начинающиеся на заданную букву - Turbo Pascal

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

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

дано строку слов из латинских букв. разработать программу, которая будет удалять все слова на букву в с данного текста.

Решение задачи: «Удалить из строки слова, начинающиеся на заданную букву»

textual
Листинг программы
  1. var
  2.   s:string;
  3.   c:char;
  4.   i,j:integer;
  5. begin
  6.   write('Enter string:');readln(s);
  7.   write('Enter character:');readln(c);
  8.   for i:=length(s) downto 1 do
  9.     if (s[i]=c) and ((i=1) or (pos(s[i-1],' .,:;!?')>0)) then
  10.         while (i<=length(s)) and (pos(s[i],' .,:;!?')=0) do delete(s,i,1);
  11.  
  12.   writeln('Result: "',s,'"');
  13. end.

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

  1. В начале объявляются переменные: s - строка, c - символ, i - целое число, j - целое число.
  2. Затем идет запрос на ввод строки и символа.
  3. Далее идет цикл for, который начинается с индекса length(s) и идет вниз до 1. Внутри цикла проверяется условие: если текущий символ в строке равен заданному символу и либо предыдущий символ является одним из разрешенных ('.', ':', ';', '!', '?'), либо текущий символ является первым символом строки. Если условие выполняется, то цикл while повторяется, пока текущий символ в строке является допустимым и не равен нулю. В этот момент удаляется символ из строки.
  4. После завершения цикла выводится результат.
  5. Код завершается.

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы