![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 15.01.2019
Сообщений: 1
|
![]()
Реализовал калькулятор на основе делегатов, словарей, стеков, приоритетов операций. Считает он правильно сложные выражения со скобками. Но не знаю как посчитать к примеру вот такую строку sin(1)+3+cos(2). Вариант с тем, чтобы ввести 1 и нажать sin не предлагать. Такое сделал. Но хочется все-таки чтобы sin(1)+3+cos(2) он мог рассчитать. Возможно ли это и как?
Словари: Код:
Код:
Последний раз редактировалось lava172; 15.01.2019 в 21:24. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 23.02.2019
Сообщений: 1
|
![]()
Вы можете попробовать сделать с помощью регулярных выражений. Создайте шаблон, который будет находить в строке все cos или sin, а содержимое в последующих скобках помещать в группу. Затем можно содержимое из группы обработать и поместить обратно в строку.
В общем строка sin(1)+3+cos(2), превращается в строку 0,841470984807897+3+-0,416146836547142. Как видите сразу всплывают нюансы, например косинус 2 равен отрицательному числу, поэтому мы видим вместе +-. Так же надо продумать, если в скобках написано выражение, например cos(корень(30)*5), то сначала нужно обработать всё, что в скобках, а потом уже вычислять косинус. Код ниже сделан на скорую руку, поэтому он чисто в качестве отправной точки. Код:
|
![]() |
![]() |
![]() |
#3 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сдать нужно в понедельник. Не понимаю, как вычислить значение этого выражения: S=sin(x+cos(2x-sin(3x+cos(4x+sin(5x-cos(6x+...).. | n7camomile | Помощь студентам | 5 | 15.12.2013 22:44 |
Калькулятор. Cos и Sin | Ruz34 | Общие вопросы Delphi | 1 | 09.02.2013 18:13 |
Пусть задано значение X. Найти первое из чисел sin X, sin sin X, sin sin sin X, ... , меньшее по модулю 10-4. | hex_91 | Visual C++ | 1 | 28.04.2012 23:49 |
Паскаль Вычислить у - первое из чисел sin х, sin sin x, sin sin sin x, ..., меньшее по модулю 10-4 | Kikikiss | Помощь студентам | 2 | 25.03.2012 13:58 |