На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка – признак конца и в последовательность не входит). Проверить, правильно ли в данной последовательности расставлены круглые скобки (то есть, справа от каждой открывающей есть соответствующая закрывающая, а слева от каждой закрывающей есть соответствующая открывающая).

7 Дек 2019 в 19:42
134 +1
3
Ответы
1

Алгоритм решения этой задачи может быть следующим:

Создать пустой стек, в который будем помещать открывающие скобки.Считывать символы из входной последовательности до тех пор, пока не встретится точка.Если считанный символ - открывающая скобка (‘(‘), поместить её в стек.Если считанный символ - закрывающая скобка (‘)‘), проверить, не пуст ли стек. Если стек пуст, значит скобки расставлены неправильно, программа должна вывести сообщение об ошибке и завершиться.Если стек не пуст, извлечь из него верхний элемент.Если извлеченная открывающая скобка не соответствует закрывающей скобке, программа должна вывести сообщение об ошибке и завершиться.Если все скобки расставлены верно и стек пуст после чтения всей последовательности, программа должна вывести сообщение о правильности расстановки скобок.

Пример кода на языке Python:

stack = []
s = input()
for symbol in s:
if symbol == '.':
break
if symbol == '(':
stack.append('(')
elif symbol == ')':
if len(stack) == 0:
print("Скобки расставлены неправильно")
break
if stack[-1] == '(':
stack.pop()
else:
print("Скобки расставлены неправильно")
break
if len(stack) == 0:
print("Скобки расставлены верно")

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

18 Апр в 23:56
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 829 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир