Удалить последние 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.
Объяснение кода листинга программы
- Переменная
s
типа String, в которую считывается строка из ввода пользователя. - Переменные
i
,j
иk
типа Integer, используемые в цикле и для работы со строкой. - В первой строке кода считывается строка из ввода пользователя и добавляется пробел в начало строки, чтобы можно было корректно работать со строкой в цикле.
- В цикле проходим по строке с конца к началу, проверяя каждый символ.
- Если символ является пробелом, то запоминаем позицию первого пробела в переменной
j
. - Если символ является буквой 'a', а предыдущий символ является пробелом, то удаляем последние
k
символов, гдеk
- это количество символов, которое нужно удалить (в данном случае всегда 3). - После удаления лишних символов удаляем первый пробел в строке.
- Выводим полученную строку на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д