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

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

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

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

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

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

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

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

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


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

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

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