Форум программистов, компьютерный форум CyberForum.ru

Парсер интегральной функции - C++

Восстановить пароль Регистрация
 
Nuclear_Razor
49 / 2 / 0
Регистрация: 22.07.2012
Сообщений: 103
Записей в блоге: 1
03.10.2012, 22:33     Парсер интегральной функции #1
Всем привет.
Интересует такой вопрос, как сделать парсер для подынтегральной функции? Подойдет любая реализация: и для win32 и для winforms. Просто нужен рабочий код. Подойдет даже считывание из файла, но нигде не могу найти подобных вещей. Парсеры для обычных калькуляторов не предлагать. Тут скорее пойдет речь о преобразовании типов.

Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "stdafx.h"
#include "math.h"
#include <iostream>
 
using namespace std;
 
double fun(double x) //Это - ключевой момент, его и надо изменить
{
    return x;
}
 
double sumIntegral(double lowBound, int n, double dx)
{
    double cumSum = 0;
    for(int i = 0; i < n; i++)
    {
        double xi = lowBound+i*dx;
        double funValue = fun(xi);
        double RectangleArea = funValue*dx;
        cumSum += RectangleArea;
    }
 
    return cumSum;
 
}
 
void main()
{
    setlocale(LC_ALL,"rus");
    double lowBound;
    double upBound;
    int n = 10000;
    cout << "Введите нижний предел интегрирования:"; cin >> lowBound;
    cout << "Введите верхний предел интегрирования:"; cin >> upBound;
    double dx = (double)(upBound-lowBound)/n;
    double result = sumIntegral(lowBound, n, dx);
 
    cout <<"\nРезультат:";
    cout << sumIntegral(lowBound, n, dx);
    cout <<"\n"; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 22:33     Парсер интегральной функции
Посмотрите здесь:

C++ Парсер
C++ Парсер
Парсер HTML C++
C++ парсер
C++ Наипростейший парсер
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
03.10.2012, 23:03     Парсер интегральной функции #2
как сделать парсер или нужен готовый код?
берете сначала самые простые действия. вроде сложения и вычитания. делаете парсер только для них. затем постепенно увеличиваете количество действий, добавляете скобки и тд.
кидайте наработки сюда, будем смотреть
Nuclear_Razor
49 / 2 / 0
Регистрация: 22.07.2012
Сообщений: 103
Записей в блоге: 1
03.10.2012, 23:11  [ТС]     Парсер интегральной функции #3
I.M., нужен готовый код. Понимаете в чем дело, все доступные в сети парсеры - созданы из расчета вычислений, то есть введенные числовые значения и функции складываются, вычитаются и т.п. А мне нужно чтобы человек ввел с клавиатуры выражение (или оно считалось из файла), и оно преобразовалось в подынтегральное выражение, над которым уже проводятся дальнейшие вычисления. Подозреваю, что это проще реализовать в windows forms.
Nuclear_Razor
49 / 2 / 0
Регистрация: 22.07.2012
Сообщений: 103
Записей в блоге: 1
06.10.2012, 20:45  [ТС]     Парсер интегральной функции #4
Вопрос пока не разрешен.

Добавлено через 10 минут
Додумал пока такую вещь:

C++
1
2
3
4
5
6
7
8
9
10
char function[10];
 
double fun(double x)
{
    if(function=="x")
    {
        return x;
    }
    
}
Но работать не хочет. Выдает -1.#....
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
06.10.2012, 22:48     Парсер интегральной функции #5
Тебе нужна программа, позволяющая вычислять значения выражений, записанных в виде строки?
Nuclear_Razor
49 / 2 / 0
Регистрация: 22.07.2012
Сообщений: 103
Записей в блоге: 1
07.10.2012, 13:46  [ТС]     Парсер интегральной функции #6
Герц, да. Пользователь вводит например: "sin(x)", а это преобразуется в подынтегральную функцию такую как sin(x), типа double, например.

Добавлено через 14 часов 26 минут
По-прежнему ничего не приходит в голову.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2012, 15:26     Парсер интегральной функции
Еще ссылки по теме:

C++ Парсер паскаля
C++ Парсер
Парсер аудиофайлов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nuclear_Razor
49 / 2 / 0
Регистрация: 22.07.2012
Сообщений: 103
Записей в блоге: 1
07.10.2012, 15:26  [ТС]     Парсер интегральной функции #7
Проблема не решена.
Yandex
Объявления
07.10.2012, 15:26     Парсер интегральной функции
Ответ Создать тему
Опции темы

Текущее время: 16:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru