|
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 2
|
||||||
Вычислить значение выражения, записанного в строке символов26.02.2020, 22:09. Показов 2885. Ответов 5
Метки нет (Все метки)
вот сам код, идея в том что нужно в строке неизвестной длинны найти ответ. в строке записанные целые числа пример : ( 10+45-44+54551564-45455-8789+111111 ) и надо найти ответ
0
|
||||||
| 26.02.2020, 22:09 | |
|
Ответы с готовыми решениями:
5
Найти значение выражения, записанного в строке
|
|
Модератор
|
|
| 27.02.2020, 08:15 | |
|
Repkaggvvpp, тут нужна другая идея.
Обрабатывайте в потоке. У вас - на входе строка s - состояние процесса - 3 переменные: операнд1, операнд2, операция. При инициализации операнд1=0, операция=сложение (чтобы не повлиять). Начинаете обрабатывать строку посимвольно 1. if s[i]='0'...'9' then Op2:=Op2*10+(s[i]-'0'); к следующему символу строки (т.е. уточняем число второго операнда) 2.1. Если не цифра, то выполнить вычисление Op1:= Op1 (Operation) Op2; Op2:=0; (через case) 2.2. Уточнить операцию для следующего вычисления 2.2.1. if s[i]='+' then Operation:=сложение 2.2.2. if s[i]='-' then Operation:=вычитание 2.3. if i=length(s) then как и в п.2.1 выполнить вычисления (чтобы последний операнд тоже был учтён) 3. i:=i+1 4. перейти к п.1 (это по сути цикл for) 5. вывод результата (Op1)
0
|
|
|
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
|
||||||
| 28.02.2020, 08:52 | ||||||
0
|
||||||
|
Модератор
|
||||||
| 01.03.2020, 16:49 | ||||||
|
И я свой приведу. Ждал ответа топикстартера.
Единственно, это для FreePascal, а в PascalABC проверить не могу. Если вхождения во множества работать не будут, то придётся заменить на проверки вхождения в диапазон или точные равенства.
0
|
||||||
|
Модератор
10445 / 5737 / 3406
Регистрация: 17.08.2012
Сообщений: 17,451
|
|
| 07.03.2020, 01:51 | |
|
Я тут недавно на эту тему малость порезвился... Получилось раза в два покороче:
Вычислить выражение, с числами и знаками сложения и вычитания
0
|
|
|
Модератор
|
|
| 07.03.2020, 13:18 | |
![]() Не будем преувеличивать ![]() Добавлено через 1 час 42 минуты Не дочитал до конца Вычислить выражение, с числами и знаками сложения и вычитания Да! Очень коротко и просто! Лихо! Добавлено через 16 минут Ага!.. Там и дальше есть... Классно! А я исходил из принципа обработки потока и впервые реализовывал на ассемблере, а потом дорабатывал под унарные операции (факториал) Написать программу, позволяющую выполнять арифметические действия над двоичными или шестнадцатеричными числами К готовой программе "калькулятор" добавить вычисление факториала Там в принципе тот же вариант, что и у меня на Pascal.
0
|
|
| 07.03.2020, 13:18 | |
|
Помогаю со студенческими работами здесь
6
Вычислить значение арифметического выражения, записанного на языке Фортран
Посчитать значение выражения, записанного в обратной польской нотации
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|