Удалить последние 3 символа из слов, начинающихся на 'a' - Turbo Pascal

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

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

Нужно сделать программу, которая удаляет в каждом(!) слове, начинающемся на "a", последние три символа. Пробовал различные написания, но я никак не могу понять, какие строчки нужно написать, чтобы программа распознавала нужные слова, прошу помощи у вас.

Решение задачи: «Удалить последние 3 символа из слов, начинающихся на 'a'»

textual
Листинг программы
var
  s: String;
  i, j, k: Integer;
begin
  ReadLn(s); Insert(' ',s,1); j:=Length(s)+1;
  for i:=Length(s) downto 2 do
    if s[i]=' ' then j:=i
    else if (s[i]='a') and (s[i-1]=' ') then begin
      k:=j-i; if k>3 then k:=3;
      Delete(s,j-k,k);
    end;
  Delete(s,1,1);
  WriteLn(s);
end.

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

  1. Переменная s типа String, в которую считывается строка из ввода пользователя.
  2. Переменные i, j и k типа Integer, используемые в цикле и для работы со строкой.
  3. В первой строке кода считывается строка из ввода пользователя и добавляется пробел в начало строки, чтобы можно было корректно работать со строкой в цикле.
  4. В цикле проходим по строке с конца к началу, проверяя каждый символ.
  5. Если символ является пробелом, то запоминаем позицию первого пробела в переменной j.
  6. Если символ является буквой 'a', а предыдущий символ является пробелом, то удаляем последние k символов, где k - это количество символов, которое нужно удалить (в данном случае всегда 3).
  7. После удаления лишних символов удаляем первый пробел в строке.
  8. Выводим полученную строку на экран.

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


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

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

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