Ю12.29

Задача: Скобки. Текст ( например, арифметическое выражение) содержит многократно вложенные круглые скобки. Исправить его, оставив скобки первого уровня круглыми, второго — заменить на квадратные, третьего и последующих  — на фигурные. Убедиться в корректности использования скобок.

Тесты:

Введенная строка Выведенная строка
ln(sin((a+b)c-d)) ln{sin[(a+b)c-d]}
ln(sin((a+b)c-d))+ln(sin((a+b)c-d)) ln{sin[(a+b)c-d]}+ln{sin[(a+b)c-d]}
cos((a-b)c) cos[(a-b)c]

Код string

Код c-string

Ссылки на коды:

string

c-string

Ход решения:

Вводим строку. Задаем две переменные: l — уровень вложенности скобок и maxl — максимальный уровень вложенности скобок. Делаем цикл в котором заменяем все ‘(‘ , ‘)’ скобки на ‘{‘ , ‘}’. Делаем второй цикл в котором меняем скобки, которые являются последними по уровню вложенности на ‘(‘, ‘)’ и скобки, стоящие на уровень ниже меняем на ‘[‘, ‘]’, все остальные скобки оставляем без изменений.

 

Related Images:

One thought on “Ю12.29

Добавить комментарий