Удалите все вхождения "th" из строки - Free Pascal
Формулировка задачи:
Известно, что в начале строки S не более 40 латинских букв, за которыми следуют пробелы. Удалите все вхождения th.
Ребята помогите пж решить задачу.
Решение задачи: «Удалите все вхождения "th" из строки»
textual
Листинг программы
uses crt; var s:string; i:integer; begin clrscr; writeln('Введите строку из латинских букв, заканчивающуюся пробелами'); readln(s); for i:=pos(' ',s)downto 1 do {от первого пробела идем назад} if (s[i]='t')and(s[i+1]='h') then delete(s,i,2);{удаляем th} write('s=',s); readln end.
Объяснение кода листинга программы
- В начале программы подключается модуль CRT, который позволяет использовать функции для работы с консолью.
- Затем объявляются три переменные: s (строка), i (целое число), k (целое число).
- С помощью функции clrscr очищается экран.
- Выводится сообщение
Введите строку из латинских букв, заканчивающуюся пробелами
. - С помощью функции readln считывается строка и сохраняется в переменной s.
- В цикле for проходятся все символы строки, начиная с первого пробела и двигаясь к последнему.
- Внутри цикла проверяется, являются ли текущий символ 't' и следующий символ 'h'. Если это так, то вызывается функция delete, которая удаляет два символа из строки s, начиная с позиции i и заканчивая i+1. Это удаляет
th
из строки. - После завершения цикла выводится обновленная строка s.
- Программа завершается после ввода пользователя с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д