Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917

математическое выражение из string в int

31.10.2010, 23:51. Показов 7035. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим есть строка вида (1+2*5)-2
как результат данного выражения перевестив int, не ужели парсить ручками???
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2010, 23:51
Ответы с готовыми решениями:

Too few parameters in call to 'Lechebnica::AddNewElement(int,int,string,string,int,string)
Edit1 Id Edit2 Имя Edit3 Фамилия Edit4 Номер телефона ComboBox1 Услуга Всё string, кроме id, оно int ...

Как перевести это математическое выражение в выражение понятное для компилятора?
вот пример: a=5*atan(x)-(1/4)*acos(x); b=(x+3*abs(x-y)+pow(x,2))/(abs(x-y)*z+pow(x,2));

Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population
Здравствуйте! По C# есть задачка, с которой я так и не разобрался :( Задача: Создайте класс Animal. Добавьте поля string...

9
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
31.10.2010, 23:54
Имеетсо такой код,кинуть ??
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
31.10.2010, 23:58  [ТС]
Цитата Сообщение от Asics^ Посмотреть сообщение
Имеетсо такой код,кинуть ??
если можно, буду очень признателен.
контакты в личке.

П.С.
Если есть доп. варианты-такие как встроенный функции делающие это, то тема актуальна еще.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
31.10.2010, 23:59
lifestyle, тут вам не парсить надо, а реализовать ПОЛИЗ
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
31.10.2010, 23:59
lifestyle, Парсить онли. Писать свой кальк)
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
01.11.2010, 00:05  [ТС]
Lord_Voodoo,
что значит ПОЛИЗ??
может подскажете куда копать в моей задаче , может я не туда рою вообще?
ЗАДАЧА
есть например 4 числа: 2 4 6 8
и программа должна проверить существует ли комбинация данных чисел и операторов и расстановка скобочек чтобы получилось 25.
это конкртеный пример, вообще надо на обобщеный.
я реализовал алг, по перебору всех комбинаций чисел и операторов и почти разобрался со скобками
после чего думаю все это добро запихнуть в строку и потом посчитать?на правильном ли я пути или есть более простая реализация?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
01.11.2010, 00:08
lifestyle, Если через строку нужно писать почти свой калькулятор, то есть синт. анализатор, использование лексем и прочие интересные штуки. Примеры есть в теме https://www.cyberforum.ru/cpp-... 53746.html где-то около конца. Как-то так.
Ну или пользоваться обратной польской нотацией, хотя хрен редьки не слаще, имхо
1
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
01.11.2010, 00:12
Лучший ответ Сообщение было отмечено как решение

Решение

Может не то что надо,но всё же
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <conio.h>
#include <cmath>
#define _USE_MATH_DEFINES
using namespace std; 
 
float number()
{
      int res = 0;
      for(;;)
      {
             char c = cin.get();
             if(c >= '0' && c <= '9')
                res = res * 10 + c - '0';
             else
             {
                 cin.putback(c);
                 return res;
             }   
      }
}
 
float expr();
 
float ckobki()
{
      char c = cin.get();
      if(c == '(')
      {  
           float x = expr();
           cin.get();
           return x;
      }
      else 
      {
           cin.putback(c);
           return number();
      }
}
 
float factor()
{
      int x = ckobki();
      for(;;)
      {
      char c = cin.get();
      switch(c)
      {
               case '*':
                    x *= ckobki();
                    break;
               case '/':
                    x /= ckobki();
                    break;
               default:
                    cin.putback(c);
                    return x;             
      }
   }
}
 
float expr()
{
      int x = factor();
      for(;;)
      {
      char c = cin.get();
      switch(c)
      {
               case '+':
                    x += factor();
                    break;
               case '-':
                    x -= factor();
                    break;
               default:
                    cin.putback(c);
                    return x;             
      }
   }
}
 
int main()
{
    cout << "Bedute Bupawehue: ";
    float res = expr();
    cout << "Pezyltat = " << res << endl;
    getch();
    return 0;
}
3
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 5
20.03.2012, 15:43
Похоже пример тот, что нужно но я "туговат" немного =)
Не могли бы подсказать, как этот код будет выглядеть если исходная строка находится в Edit->Text?
0
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 5
22.03.2012, 20:34
Что искал, нашел, может кому полезно будет.

http://lord-n.narod.ru/downloa... 4/2404.htm

Простая программа синтаксического анализа мат. выражений
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2012, 20:34
Помогаю со студенческими работами здесь

Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population
Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population. Создание объектов может происходить как без...

Ошибки: Cannot implicitly convert type 'string' to 'int' и Argument 1: cannot convert from 'int' to 'string'
youtube.com_Пишем парсер на Csharp. Ошибка Пытаюсь написать парсер. Вроде сделал всё как в уроке. Выдаёт ошибки: - в строке...

Dictionary<Tuple<string,string>, Dictionary<int,int>> dict - возможно ли?
Собственно вопрос в заголовке. Возможно ли использовать объект вида Dictionary&lt;Tuple&lt;string,string&gt;, Dictionary&lt;int,int&gt;&gt; ...

Математическое выражение
Здравствуйте уважаемые форумчане. Лично я зашел в тупик как это сделать. Запишите пожалуйста кто нибудь первое слагаемое из...

математическое выражение
Добрый день нужно проверить на правильность работы вот это выражение Оно должно выдавать отрицательные результаты ? d = (x + 2 *...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru