Удалить латинские буквы из текста. - Pascal ABC
Формулировка задачи:
Тема такая: Нужна прога которая при вводе информации удаляет все латинские буквы. Я вот сделал код:
В итоге при выполнении пишет что цикл for должен описываться в заголовке цикла, и пишет еще Индекс находится вне границ массива. Если например убрать эти строки for e:=1 to length(s) do
if s[e] in ['a'..'z'] then delete(s,e,1);
То работает и фильтрует только большие буквы.
Решение задачи: «Удалить латинские буквы из текста.»
textual
Листинг программы
var i,e:byte; s:string; begin write('Введите текст:'); readln(s); for i:=length(s) downto 1 do if s[i] in ['A'..'Z','a'..'z'] then delete(s,i,1); writeln('Изменённый текст: ',s); end.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Объявляются переменные: i, e - оба типа byte; s - тип string.
- Выводится сообщение
Введите текст:
. - Считывается введенный пользователем текст и сохраняется в переменную s.
- Запускается цикл for, который проходит по каждому символу во входной строке, начиная с индекса length(s) и до 1 (включительно).
- Внутри цикла проверяется, является ли текущий символ латинской буквой. Если да, то он удаляется из строки с помощью функции delete(s,i,1), где i - текущий индекс символа.
- После завершения цикла выводится измененная строка с помощью функции writeln(s).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д