|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
||||||
Обратная польская запись (ОПЗ). Учет приоритета операций07.07.2018, 15:46. Показов 8227. Ответов 38
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане! Сегодня на курсах писали решение для задачи (см. ссылку на задачу), но, кажется, забыли, учесть приоритет операций (скобки в этой задаче отсутствуют по условию). Проблема всего в двух тестах (пишет неправильный ответ ) и скорее всего это приоритет. Может кто-то знает (уже сдавал эту задачу) как легко исправить данную ошибку или алгоритм переделывать придется
И дело ли в этом вообще...непонятно. А так программа работает.Вот код:
0
|
||||||
| 07.07.2018, 15:46 | |
|
Ответы с готовыми решениями:
38
Обратная польская запись (ОПЗ) Обратная польская запись Обратная польская запись |
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||||||
| 07.07.2018, 16:34 | ||||||
|
Когда то по древней книжке Дейтелов решал. Интерфейс по работе со стеком поправьте на стандартный.
1
|
||||||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
||||||
| 07.07.2018, 16:59 [ТС] | ||||||
|
QuakerRUS, переделал ваш код для сдачи. Но здесь, также, не учтен приоритет операций. Например, 2 2 + 2 * выдаст 8, а должно быть шесть. И случай с ERROR здесь не учтен
Вот код:
0
|
||||||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||
| 07.07.2018, 17:04 | ||
|
А вот инфиксная запись 2 + 2 * 2 преобразовывается в постфиксную 2 2 2 * +
0
|
||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 07.07.2018, 17:08 [ТС] | |
|
5 15 + 4 7 + 1 - / - этот тест дает ответ ноль, а должно быть 2. Либо что-то не так с делением, либо я напортачил, когда переделывал код в вашей программе. Еще по условию должно выполняться это: Программа должна вывести значение переданного ей выражения. Если выражение записано неверно, программа должна вывести слово 'ERROR'.
0
|
|
| 07.07.2018, 17:08 | |
|
Не по теме: Fixer_84 vs Википедия :
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 07.07.2018, 17:11 [ТС] | |
|
LegionK, спасибо за ваш ответ. Изначальная программа не проходит только 2 теста (пост #1). Тогда где может быть ошибка? Только сегодня начал изучать ОПЗ.
0
|
|
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||
| 07.07.2018, 17:16 | ||
|
Добавлено через 3 минуты UPD. Посмотрел код, там слишком много специфических изменений, проще этот отредактировать.
0
|
||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
||||||
| 07.07.2018, 17:25 [ТС] | ||||||
|
QuakerRUS, хорошо. Тогда жду дальнейшей помощи по посту #1.
Добавлено через 8 минут QuakerRUS, пока пытаюсь переделать ваш код здесь
0
|
||||||
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||||||
| 07.07.2018, 17:59 | ||||||
|
Что то типа такого.
1
|
||||||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 07.07.2018, 18:22 [ТС] | |
|
QuakerRUS, я отправил ваш последний код. Он завалил те же два теста, что и у меня в посте #1. Не понимаю, что не так
0
|
|
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
|
| 07.07.2018, 18:24 | |
|
Fixer_84, у меня только три мысли есть.
1. В моем коде в 83 строке убрать проверку на ^ и %. Маловероятно, что в этом ошибка. 2. В проверке числа больше 4 байт. Мне кажется тоже маловероятным. 3. По условию не говорилось, что числа не могут быть отрицательными. С такой строкой, например, моя программа корректно не отработает в этом случае. Например -2 -2 +
1
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 07.07.2018, 18:28 [ТС] | |
|
QuakerRUS, отрицательные числа в моей программе были дополнительно учтены, но не в этом дело, к сожалению. У меня -2 -2 + выдает -4.
0
|
|
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||||||
| 07.07.2018, 18:46 | ||||||
|
А так если?
1
|
||||||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 07.07.2018, 19:10 [ТС] | |
|
QuakerRUS, все равно. В 15 и 21 тестах - неправильный ответ.
0
|
|
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
|
| 07.07.2018, 19:15 | |
|
Fixer_84, тогда сдаюсь. Кто знает, что за бред они на вход подают, условие слишком короткое и не описаны входные данные. Может они бракуют два пробела подряд, может бракуют пробел в начале или конце строки, может у них unsigned int и они 3 миллиарда подают на вход, может еще больше подают. Гадать не вижу смысла.
0
|
|
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
|
| 07.07.2018, 19:20 [ТС] | |
|
QuakerRUS, согласен. Но все-таки, обидно, что столько провозились за зря
Спасибо, что пытались помочь.Добавлено через 1 минуту LegionK, и вам вам спасибо, за поправку. Теперь хоть понимаю что такое ОПЗ.
0
|
|
|
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
|
||||||
| 07.07.2018, 19:33 | ||||||
|
Fixer_84, так, я сделал проверки на весь бред, который пришел в голову. Попробуйте еще.
![]()
0
|
||||||
|
Комп_Оратор)
|
||||||
| 07.07.2018, 19:43 | ||||||
|
Fixer_84, я редко понимаю происходящее и поэтому люблю что-нибудь сказать. Объясните пожалуйста, зачем тут стек? Я не стал играть со строковыми потоками и/или парсингом, чтобы максимально упростить вопрос. Ведь если Вам не нужны скобки, то операция всегда порождает результат и в этом её прелесть. То есть механизм туп и прост как веник:
0
|
||||||
|
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
|
||||||
| 07.07.2018, 19:45 [ТС] | ||||||
|
QuakerRUS, возможно, мне удалось найти потенциальную ошибку, так как код при отправке на сайте Е-olymp принимают, но там нет проверки на вывод сообщения ERROR. Вывод - мы где-то в одном(двух) местах неправильно выводим сообщение ERROR или не выводим вообще. Вот этот код прошел все тесты на E-olymp:
0
|
||||||
| 07.07.2018, 19:45 | |
|
Помогаю со студенческими работами здесь
20
Обратная польская запись
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|