Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Алгоритм перемножения скобок


Автор: Luiza 31.5.2007, 18:55
Может кто сталкивался когда нибудь или знает как реализовать...подскажите, пожалуйста!
Необходимо раскрыть скобки:

( AvB ) (CvD).... таким образом ( ACvADvBCvBD )......

исходные данные в виде строки. Естественно заранее количество дизъюнкций неизвестно.

Автор: DigitSphinx 31.5.2007, 20:34
Где вопрос по  С++ ? 
Тебе в центр помощи !

Автор: MAKCim 1.6.2007, 08:51
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: Rockie 1.6.2007, 15:33
Luiza, хм.. то есть если будет (AvB)(CvD) то получим ( ACvADvBCvBD ), а если (AvB)(CvD)(EvF), то какой будет результат? 


Автор: zkv 1.6.2007, 15:39
Цитата(Rockie @  1.6.2007,  15:33 Найти цитируемый пост)
Luiza, а если будет (AvB)(CvD)то  ( ACvADvBCvBD ), а если (AvB)(CvD)(EvF), то какой бцдет результат? 

(AvB)(CvD)(EvF) = ( ACvADvBCvBD )(EvF) = ( ACEvADEvBCEvBDEvACFvADFvBCFvBDF ) 
но про переменное количество конъюнкций вроде речь не шла smile 

Автор: Luiza 1.6.2007, 17:26
zkv, именно так и будет smile
Конъюнкций тоже не известно сколько заранее smile
В общем нужен универсальный алгоритм.
Вообще компиляторы работают по такому принципу, так же раскрывают все скобки.
Мне не понятно даже направление в котором надо мыслить....

Автор: Rockie 1.6.2007, 20:19
Цитата(zkv @  1.6.2007,  15:39 Найти цитируемый пост)
(AvB)(CvD)(EvF) = ( ACvADvBCvBD )(EvF) = ( ACEvADEvBCEvBDEvACFvADFvBCFvBDF ) 


Понятно. Напрашивается использование вектора векторов smile Но вряд ли это решение будет приемлемым

Впрочем будет достаточно вектора string-ов, у строк есть +=


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)