Символы в скобках заменить на точки - Pascal ABC

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

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

Дана символьная строка. Заменить в ней последовательности символов, расположенные между открывающими и закрывающими скобками, на точки. Предполагается, что внутри пары скобок вложенных скобок нет.

Решение задачи: «Символы в скобках заменить на точки»

textual
Листинг программы
var s,s1:string;i:integer;
begin
 write('s: ');readln(s);s1:='';
 while (pos('(',s)>0) and (pos(')',s)>0) do
  begin
   for i:=pos('(',s)+1 to pos(')',s)-1 do  s[i]:='.';
   s1:=s1+copy(s,1,pos(')',s));
   delete(s,1,pos(')',s))
  end;
 s1:=s1+s;
 writeln('s'':',s1)
end.

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

  1. Переменная s инициализируется как строка, а переменная s1 инициализируется как пустая строка.
  2. Пользователю предлагается ввести строку.
  3. В цикле while происходит обработка строки до тех пор, пока в ней есть открывающие и закрывающие скобки.
  4. Внутри цикла while происходит обработка каждого символа в строке.
  5. Если текущий символ является открывающей скобкой ('('), а следующий символ является закрывающей скобкой (')'), то происходит следующее:
    • Для каждого символа в диапазоне от позиции открывающей скобки + 1 до позиции закрывающей скобки - 1 добавляется точка ('.'),
    • Строка s1 увеличивается на копию подстроки s от позиции открывающей скобки до позиции закрывающей скобки,
    • Подстрока s удаляется из позиции 1 до позиции закрывающей скобки.
  6. После завершения цикла while строка s1 добавляется к строке s.
  7. Результат выводится на экран.

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

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