Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 1

Как преобразовать математическое уравнение в, введенное в lineEdit, в код и посчитать его?

05.06.2019, 19:04. Показов 1855. Ответов 4

Author24 — интернет-сервис помощи студентам
Вопрос такой. Есть LineEdit, в него вводится выражение, например 4*5-10/2 и нужно чтобы программа посчитала результат, как будто я это выражение присвоил переменной, но я не понимаю, как преобразовать это в код. Говорят, что это в одну строчку делается. У меня была идея сделать через Qstringlist или QChar, но там получается явно не одна строка
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2019, 19:04
Ответы с готовыми решениями:

Как преобразовать текстовую строку типа (y = x + 2) в уравнение чтобы можно было посчитать его зная x
Уважаемые коллеги, подскажите пожалуйста как решить такую задачу. Пользователь вводит в QTextEdit текст типа "y = x + 2"...

Строку преобразовать в математическое выражение. Как доработать код?
//в итоге мы должны получить из введенной строки 2+6+8 значение суммы. //вот мой код, не пойму почему не работает: //ввели к примеру...

Преобразовать введённое слово в последовательность кодов его букв
Сама задача: Преобразовать введённое слово в последовательность кодов и его букв.Решить и обратную задачу. Понимаю,что нужно...

4
732 / 693 / 110
Регистрация: 29.05.2015
Сообщений: 4,184
05.06.2019, 19:43
Цитата Сообщение от Atex86 Посмотреть сообщение
Говорят, что это в одну строчку делается.
Врут.
0
зомбяк
 Аватар для TRam_
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
05.06.2019, 19:53
Цитата Сообщение от Atex86 Посмотреть сообщение
как преобразовать это в код
Если не писать собственный компилятор (или вызывать имеющийся), то никак. Можно распарсить в стеки переменных и действий, и их потом последовательно обрабатывать. Можно попробовать поискать готовую считалку выражений, и ей на вход подавать в нужном ей формате файл с выражением и потом забирать результаты вычислений. В последнем случае - да, делается относительно просто. Но в Qt подобной проги нет, а где есть - сам не знаю.
0
279 / 88 / 37
Регистрация: 10.06.2015
Сообщений: 261
06.06.2019, 08:19
Ну если уж слишком сильно не придираться к словам про одну строчку, то можно сделать через QJSEngine. Что-то похожее на:
C++ (Qt) Скопировано
1
2
QJSEngine myEngine;
QJSValue three = myEngine.evaluate("1 + 2");
Я не смотрел особо, но , скороее всего, там можно всю математику из JS подтянуть.
0
732 / 693 / 110
Регистрация: 29.05.2015
Сообщений: 4,184
06.06.2019, 20:14
"Вручную" распарсить можно, и не сложно. Я уже (за пару часов) написал функцию, которая из арифметической строки "вырезает" подстроку, которая должна считаться первой (т.е. с умножением или делением). Наример:

12*22+24/8-30/10 --> 12*22
12+22+24/8-30/10 --> 24/8

Идея понятна?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2019, 20:14
Помогаю со студенческими работами здесь

C# Есть код алгоритма Дейкстры на C++, как его можно преобразовать на язык C#?
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { ...

Как посчитать математическое ожидание
Помогите как посчитать математическое ожидание. Есть несколько студентов, для подготовки к экзамену, чтобы его сдать успешно, им нужно...

Как преобразовать строку в математическое выражение
Доброго времени суток. Собственно по сабжу... Как преобразовать строку в математическое выражение т.е есть строка (string) 5+5 ,нужно...

Как преобразовать математическое выражение в число?
существует ли возможность преобразовать String в Double, если String равно, например "25 + 17 * 2" (результат должен быть - 59) или...

Как решать сложное математическое уравнение?
Как решить вот такое вот уравнение подскажите пожалуйста. В математике я 0. c=\left(\frac{x}{\left(3+ax \right)^2}...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как использовать Behavior Graph в Unity при создании игрового AI
GameUnited 14.04.2025
Искусственный интеллект в играх прошел долгий путь эволюции. От простейших алгоритмов, движущих призраками в Pac-Man, до сложных систем, управляющих поведением персонажей в современных AAA-проектах. . . .
Создание и стилизация списков в SwiftUI
mobDevWorks 14.04.2025
Списки — фундаментальный элемент мобильных интерфейсов. От списка контактов до ленты новостей, от настроек до каталога товаров — трудно представить приложение, которое не использовало бы этот. . .
Паттерн SAGA и распределённые транзакции в микросервисной архитектуре
stackOverflow 14.04.2025
Переход от монолитной архитектуры к микросервисам принес множество преимуществ: гибкость разработки, независимость развертывания и масштабирования отдельных компонентов. Однако этот переход создал и. . .
Кастомные аллокаторы в C++ и оптимизация управления памятью
bytestream 14.04.2025
Работа с памятью в С++ всегда была и остаётся одной из самых увлекательных и сложных задач для программиста. Любой опытный C++ разработчик подтвердит: стандартные механизмы аллокации памяти – штука. . .
Организация сетей в Kubernetes и эффективное развертывание
Mr. Docker 14.04.2025
Сетевая инфраструктура Kubernetes представляет собой сложную, но хорошо спроектированную систему, которая позволяет контейнерам взаимодействовать между собой и с внешним миром. За кажущейся простотой. . .
Многопоточность в Rust: Fearless concurrency и практические примеры
golander 14.04.2025
Многопоточное программирование связано с рядом известных проблем. Наиболее распространенные из них — гонки данных (data races), взаимные блокировки (deadlocks) и условия гонки (race conditions). Эти. . .
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер