Удалите все вхождения "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.

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

  1. В начале программы подключается модуль CRT, который позволяет использовать функции для работы с консолью.
  2. Затем объявляются три переменные: s (строка), i (целое число), k (целое число).
  3. С помощью функции clrscr очищается экран.
  4. Выводится сообщение Введите строку из латинских букв, заканчивающуюся пробелами.
  5. С помощью функции readln считывается строка и сохраняется в переменной s.
  6. В цикле for проходятся все символы строки, начиная с первого пробела и двигаясь к последнему.
  7. Внутри цикла проверяется, являются ли текущий символ 't' и следующий символ 'h'. Если это так, то вызывается функция delete, которая удаляет два символа из строки s, начиная с позиции i и заканчивая i+1. Это удаляет th из строки.
  8. После завершения цикла выводится обновленная строка s.
  9. Программа завершается после ввода пользователя с помощью функции readln.

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


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

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

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