Форум программистов, компьютерный форум CyberForum.ru

Программа проверки правильности скобок - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.61
Stas12
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 102
27.10.2011, 14:07     Программа проверки правильности скобок #1
Написать программу которая определит правильно ли расставлены скобки (,) в выражении . Например (222-(2*Х+5))-3*у). Никак не могу понять((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2011, 14:07     Программа проверки правильности скобок
Посмотрите здесь:

Проверка правильности расстоновки скобок C++
функция проверки правильности написания адреса почты C++
функция проверки правильности написания адреса почты (под DevC++ C++
программа по переводу из постфиксной формы записи в инфиксную с использованием скобок C++
Проверка правильности расстановки скобок в строке (рекурсия) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
27.10.2011, 14:31     Программа проверки правильности скобок #2
Цитата Сообщение от Stas12 Посмотреть сообщение
Никак не могу понять((
Самый простой вариант:
1) Заводишь переменную-счётчик, инициализируешь её 0.
2) Начинаешь анализировать строку слева направо:
2.1) если текущий символ "(" увеличиваешь счётчик на 1.
2.2) если текущий символ ")" уменьшаешь счётчик на 1, при этом, если счётчик примет отрицательное значение значит скобки сбалансированы неверно.
В конечном итоге, если счётчик будет равен 0 значит скобки расставлены правильно.
pincet
 Аватар для pincet
1096 / 757 / 79
Регистрация: 23.07.2010
Сообщений: 3,795
27.10.2011, 14:32     Программа проверки правильности скобок #3
-бежишь по строке вправо до первой ) (или до конца строки)
-заменяешь ее пробелом
-бежишь влево до (. если достиг начала или ")" - ошибка
-заменяешь на пробел
-начинаешь сначала, до тех пор, пока не достиг конца и не нашел не одной ")"
-бежишь влево, если не нашел ни одной "(" - все верно, иначе - ошибка
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.10.2011, 14:38     Программа проверки правильности скобок #4
http://www.cyberforum.ru/search.php?searchid=3677808 - на форуме уже много раз было

Вот, к примеру, на основе стеков:
stacytwo
Сообщений: n/a
27.10.2011, 19:45     Программа проверки правильности скобок #5
Вот у меня схожая проблема. Но задача(на Паскале): доставить недостающие скобки, и я не понимаю, как это сделать . Подскажите пожалуйста
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.10.2011, 09:06     Программа проверки правильности скобок #6
Цитата Сообщение от Stas12
Написать программу которая определит правильно ли расставлены скобки (,) в выражении . Например (222-(2*Х+5))-3*у). Никак не могу понять((
открывающие скобки кладёшь в стек
закрывающие скобки снимаешь со стека
если в конце стек не пуст, то скобки не сбалансированны
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2011, 09:08     Программа проверки правильности скобок
Еще ссылки по теме:

Добавить в программу функцию проверки правильности ввода даты C++
Составить программу проверки баланса скобок арифметического выражения, введенного с клавиатуры C++
C++ Программа проверки простоты по алгоритму

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
28.10.2011, 09:08     Программа проверки правильности скобок #7
Цитата Сообщение от stacytwo Посмотреть сообщение
Но задача(на Паскале): доставить недостающие скобки, и я не понимаю, как это сделать
А ты разделом не ошибся?
Yandex
Объявления
28.10.2011, 09:08     Программа проверки правильности скобок
Ответ Создать тему
Опции темы

Текущее время: 05:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru