![]() |
|
Модераторы: Poseidon |
![]()
|
|
| tuhovsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.1.2010 Репутация: нет Всего: нет |
deleted
Это сообщение отредактировал(а) tuhovsky - 6.3.2010, 16:40 |
|||
|
||||
| alex77755 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
Решение польской записи осуществляется реализуется разнесением чисел по регистрам с последующим выполнением действий
Так как это предлагается сделать в Ёкселе, необходимо разделять цифры. Пример для двух цифр с разделителем "!" выполняется при нажатии "Ентер" в ячейке 125!56!*
|
|||
|
||||
| tuhovsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.1.2010 Репутация: нет Всего: нет |
deleted
Это сообщение отредактировал(а) tuhovsky - 6.3.2010, 16:41 |
|||
|
||||
| Sanaff |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 15.9.2009 Где: г. Северодвинск Репутация: -1 Всего: 1 |
Разделение на числа - там без наворотов можно, примерно как у Вас. А польская запись - посложнее будет, Вы алгоритм видели? . я подумаю, как попроще сделать... --------------------
Программист - это локальный бог ©ICQ 373-628-456 |
|||
|
||||
| tuhovsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.1.2010 Репутация: нет Всего: нет |
deleted
Это сообщение отредактировал(а) tuhovsky - 6.3.2010, 16:40 |
|||
|
||||
| Sanaff |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 15.9.2009 Где: г. Северодвинск Репутация: -1 Всего: 1 |
Не только с последним числом, но и с тройными произведениями a*b*c не работает
Завтра попробую выложить правильный код --------------------
Программист - это локальный бог ©ICQ 373-628-456 |
|||
|
||||
| FallFan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 30.3.2008 Где: Санкт-Петербург Репутация: нет Всего: нет |
Основа алгоритма была взята с Википедии (http://ru.wikipedia.org/wiki/Обратная_польская_запись), код не оптимизирован. Если вставить этот код в модуль (*.bas), то эти функции можно будет вызывать как стандартные в Excel (необходимо в окне выбора функции выбрать "определенные пользователем")
Function Normal_to_POLIZ(InputString As String) As String - преобразовывает нормальную запись в ПОЛИЗ InputString - выражение в нормальном ввиде (можно и с пробелами) Function POLIZ_Solve(POLIZ_Expression As String) As Double - вычисление выражения написанного в ПОЛИЗ (для проверки) POLIZ_Expression - выражение в в иде ПОЛИЗ, между числами и операторами разделитель пробел (" ") с другим разделителем работать не будет (можно исправить в функции Split) Function Priority(Func As String) As Byte - функция определения приоритета операции (необходима для работы Normal_to_POLIZ)
|
|||
|
||||
| tuhovsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.1.2010 Репутация: нет Всего: нет |
спс, программка с польскими приоритетами сильная, но препод не поверит мне, так что пришлось доработать свою:
я дописал свой бред, добавил правильную работу типа ...*...*...*... несколько одинаковых знаков подряд, код получился на 111 строк XD, принёс один из всей группы и сдал))) |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |