Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 14:53   #1
Sport
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 12
По умолчанию Корректность скобок!

Кто знает как вообще написать программу на C++.. которая бы считала корректность скобок "(" ")"?
Sport вне форума Ответить с цитированием
Старый 22.03.2012, 14:55   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

начать с гоогления фразы "обратная польская запись"
Rififi вне форума Ответить с цитированием
Старый 22.03.2012, 15:44   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да ну. не надо никаких обратных польских записей.
всё НАМНОГО проще...

заводим счётчик скобок.
ставим его в ноль.
идём по строке в цикле, проверяя, данный символ равен ли скобке открывающий
if (s[i] == '(' ) Счётчик++
иначе
проверяем на скобку закрыввающую, если равен, уменьшаем счётчик - если он стал меньше нуля, то сразу прерываем цикл, выдаём сообщение об ошибке (в позиции i найдена закрывающая скобка БЕЗ открывающей)
как только цикл закончился ( дошли до конца исходной строки),
проверяем
если счётчик скобок == 0
сообщение - корректно!
иначе
сообщение - не корректно (есть не закрытые скобки)!


всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.03.2012, 20:33   #4
Максай
Пользователь
 
Аватар для Максай
 
Регистрация: 21.07.2008
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
проверяем на скобку закрыввающую, если равен, уменьшаем счётчик - если он стал меньше нуля, то сразу прерываем цикл, выдаём сообщение об ошибке (в позиции i найдена закрывающая скобка БЕЗ открывающей)
Код:
/* И ведь обязательно же кто-нибудь напишет в коде коммент... :) */
Максай вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Корректность Регулярного выражения Altera Свободное общение 4 18.08.2011 17:44
Корректность вводимых данных маленький монстрик PHP 2 13.06.2011 08:53
Корректность закачки _Den_1984 Работа с сетью в Delphi 0 15.02.2011 13:30
Проверка на корректность строк Ilya_L Microsoft Office Excel 5 22.06.2010 11:23
Корректность имени файла Altera Общие вопросы Delphi 6 30.05.2009 08:31