|
1 / 1 / 2
Регистрация: 23.06.2010
Сообщений: 95
|
|
Вычисление формул28.07.2010, 11:31. Показов 4268. Ответов 27
Метки нет (Все метки)
0
|
|
| 28.07.2010, 11:31 | |
|
Ответы с готовыми решениями:
27
Расчет формул, синтаксический анализатор Обратная Польская Нотация на большом наборе формул |
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 13.10.2010, 09:53 | |
|
Где это вы видели такую запись "2 + -2"? Я знаю единственный подобный вариант - "2 + (-2)". А такое выражение без проблем можно отпарсить, я уже говорил, что если первое число в скобках отрицательно, то его можно сразу парсить как отрицательное.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 13.10.2010, 10:15 | |
|
Тем не менее так писать... Даже не знаю, как это сказать повежливей... Короче говоря, вряд-ли так кто-нибудь будет писать. Я бы уж точно не стал. Это менее читабельно, да и в школе учат записывать отрицательные числа, если они стоят не в начале выражения, в скобках.
Ну а на счёт вашего примера - зачем вы так утрируете? Эта запись аналогична "-(-2 + (-2)) * (-(-3 + (-2)))". Скобок конечно куча, но абсолютно все отрицательные числа всё же в скобки можно не брать. И так запишет, думаю, большинство.
0
|
|
|
|
|
| 13.10.2010, 10:20 | |
|
Иногда лишние скобки только засоряют выражение. И, как видно, унарные плюс и минус имеют приоритет выше, чем бинарные.
Преобразование в постфиксную же запись становится только чуть более сложной, по крайней мере если использовать метод рекурсивного спуска, насчёт метода "сортировочной станции" сказать затрудняюсь.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 13.10.2010, 10:27 | |
|
Вообще говоря идёт спор ни о чём, вопрос реализации - как сделать. Я предложил вариант. Если он не подойдёт ТСу, пусть сам думает, как парсить такое выражение, которое вы привели в 22 посте.
Добавлено через 48 секунд Ну а реализация - думаю, лучше сначала пройтись по строке, и унарный минус заменить, скажем, на _
0
|
|
| 13.10.2010, 14:51 | |
|
0
|
|
| 13.10.2010, 15:28 | |
|
Не по теме: Vovan-VE,
0
|
|
| 13.10.2010, 15:28 | |
|
Помогаю со студенческими работами здесь
28
Вычисление математических формул Вычисление математических формул Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|