Строки: удалить все символы, расположенные между скобками и сами скобки - PascalABC.NET
Формулировка задачи:
Добрый день! Помогите, пожалуйста, с задачей
В заданном тексте имеются несколько пар скобок (не вложенных). Удалите все символы, расположенные между ними и сами скобки.
Я попробовала решить, но программа не выполняется
Решение задачи: «Строки: удалить все символы, расположенные между скобками и сами скобки»
textual
Листинг программы
var a:string;
begin
readln(a);
while (pos('(',a)>0)and(pos(')',a)>0) do
delete(a,pos('(',a),(pos(')',a)-pos('(',a))+1);
writeln(a);
end.
Объяснение кода листинга программы
В данном коде:
- Объявлена переменная
aтипа строка. - Введенная пользователем строка считывается в переменную
a. - В цикле while выполняется проверка на наличие символа
(и)в строкеa. - Если символы
(и)есть в строкеa, то происходит удаление всех символов находящихся между ними, включая сами символы(и). - Удаление выполняется с помощью функции delete, которой передаются следующие параметры:
- сама строка
a - позиция первого символа
(в строкеa - длина символов между
(и)в строкеa(рассчитывается как разность позиций симвона)и символа() - 1 дополнительный символ, который указывает на то, что нужно удалить все символы, включая сами символы
(и).
- сама строка
- После удаления символов, на экран выводится измененная строка
a. Код может быть оптимизирован, если использовать один вызов функции pos вместо двух, но это не отразится на его функциональности.