Математический форум Math Help Planet
http://mathhelpplanet.com/

Плюс (+) или минус (-)
http://mathhelpplanet.com/viewtopic.php?f=10&t=24176
Страница 1 из 1

Автор:  passer [ 12 май 2013, 18:46 ]
Заголовок сообщения:  Плюс (+) или минус (-)

Всем Здрасти! у меня совсем неадекватный и глупый вопрос ,который мне самому настолько трудно обьяснить ,
на сколько и вам понять его. а суть вот в чем...
делаю программу ,которая работает на принципах элементарной школьной программы за второй класс.
в ней то же есть понятия "минус" ,"плюс" и т.д. и все выражение она прогоняет по алгоритму (ОПН) Обратная Польская Запись.
в этом алгоритме не предусмотрено отрицательных чисел ,а в моей программе скобок! вот тут и начинается самое главное...
выражение
Цитата:
2--2+2

так как минус на минус это плюс ,то выражение будет выглядеть
Цитата:
2+2+2

или по (ОПН)
Цитата:
222++

тут у меня проблем нет ,первая проблема появляется сразу со второй.
обьясню по шагам.когда после группы операторов "--" идет плюс или минус ,то эти два минуса становятся плюсом.
когда следующий оператор умножить или разделить ,то я делаю так
Цитата:
2--2*3

выглядит как
Цитата:
2-(-2*3)

или если еще точнее
Цитата:
202-3*-

но вот тут прошу немного отстранится от всех принятых пониманий и представить ,что моя программа
не для простых подсчетов и сталкиватся она будет не только с "--" но ещё с "-+--+--+-+-++--+-+-+".
потому что ,то что она будет обрабатывать создано до меня и просто не брать во внимание такие плюс минус нельзя.
я два дня сидел с калькулятором и прогонял все возможные варианты развития с такими крейзи операторами.
но я не могу самостоятельно найти ответ на свой вопрос
2----2*3 и 2---2*3 какой окончательно должен быть знак?
я заметил ,что если группа операторов в сумме преобразуется в минус --- ,то можно оставить только его
Цитата:
2-2*3

а если в сумме операторов получается плюс ---- ,то
Цитата:
2- -2*3

по этому спрашиваю у вас ,как мне поступать с этими плюс минус ?
есть какие то моменты которые могут повлиять на ответ выражения если
Цитата:
2--2*2 сделать 2+2*2 ,а

Цитата:
2---2*2 сделать 2-2*2

и использующиеся операторы +-*/^

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/