Удалить из строки слова, начинающиеся на заданную букву - 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.
Объяснение кода листинга программы
- В начале объявляются переменные: s - строка, c - символ, i - целое число, j - целое число.
- Затем идет запрос на ввод строки и символа.
- Далее идет цикл for, который начинается с индекса length(s) и идет вниз до 1. Внутри цикла проверяется условие: если текущий символ в строке равен заданному символу и либо предыдущий символ является одним из разрешенных ('.', ':', ';', '!', '?'), либо текущий символ является первым символом строки. Если условие выполняется, то цикл while повторяется, пока текущий символ в строке является допустимым и не равен нулю. В этот момент удаляется символ из строки.
- После завершения цикла выводится результат.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д