Если в строке, размещенной в динамической памяти, нет символа +, то оставить текст без изменения - Pascal
Формулировка задачи:
Если в строке,размещенной в динамической памяти,нет символа +,то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа + заменить символом -.помогите сделать на PASCAL
Решение задачи: «Если в строке, размещенной в динамической памяти, нет символа +, то оставить текст без изменения»
textual
Листинг программы
var s: ^string; i: byte; begin New(s); WriteLn('Введите строку:'); ReadLn(s^); for i := 1 to Pos('+', s^) do if s^[i] in ['0'..'9'] then s^[i] := '-'; WriteLn('Полученная строка:'); WriteLn(s^); Dispose(s); ReadLn end.
Объяснение кода листинга программы
- Объявляется переменная s типа ^string, которая указывает на строку, размещенную в динамической памяти.
- Вводится строка с помощью функции ReadLn(s^).
- Переменная i инициализируется значением 1.
- В цикле for i := 1 to Pos('+', s^) выполняется поиск всех вхождений символа
+
в строке s. - Если найденный символ является числом (принадлежит диапазону ['0'..'9']), то он заменяется на символ
-
. - Выводится полученная строка с помощью функции WriteLn(s^).
- Выполняется освобождение памяти, выделенной под строку, с помощью функции Dispose(s).
- Ввод пользователя подтверждается с помощью функции ReadLn.