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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.61
Stas12
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 102
#1

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

27.10.2011, 14:07. Просмотров 2955. Ответов 6
Метки нет (Все метки)

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

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

Вот, к примеру, на основе стеков:
stacytwo
Сообщений: n/a
27.10.2011, 19:45     Программа проверки правильности скобок #5
Вот у меня схожая проблема. Но задача(на Паскале): доставить недостающие скобки, и я не понимаю, как это сделать . Подскажите пожалуйста
accept
4838 / 3237 / 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++
C++ Найти баг в простой функции проверки правильности скобок
Разработать функцию для проверки баланса парных скобок в строке C++

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

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

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