0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 1
|
|
1 | |
Как преобразовать математическое уравнение в, введенное в lineEdit, в код и посчитать его?05.06.2019, 19:04. Просмотров 526. Ответов 4
Вопрос такой. Есть LineEdit, в него вводится выражение, например 4*5-10/2 и нужно чтобы программа посчитала результат, как будто я это выражение присвоил переменной, но я не понимаю, как преобразовать это в код. Говорят, что это в одну строчку делается. У меня была идея сделать через Qstringlist или QChar, но там получается явно не одна строка
0
|
|
05.06.2019, 19:04 | |
Как преобразовать текстовую строку типа (y = x + 2) в уравнение чтобы можно было посчитать его зная x Строку преобразовать в математическое выражение. Как доработать код?
C# Есть код алгоритма Дейкстры на C++, как его можно преобразовать на язык C#? |
|
411 / 376 / 63
Регистрация: 29.05.2015
Сообщений: 2,361
|
|
05.06.2019, 19:43 | 2 |
0
|
зомбяк
1439 / 1100 / 313
Регистрация: 14.05.2017
Сообщений: 3,586
|
|
05.06.2019, 19:53 | 3 |
Если не писать собственный компилятор (или вызывать имеющийся), то никак. Можно распарсить в стеки переменных и действий, и их потом последовательно обрабатывать. Можно попробовать поискать готовую считалку выражений, и ей на вход подавать в нужном ей формате файл с выражением и потом забирать результаты вычислений. В последнем случае - да, делается относительно просто. Но в Qt подобной проги нет, а где есть - сам не знаю.
0
|
278 / 87 / 37
Регистрация: 10.06.2015
Сообщений: 261
|
||||||
06.06.2019, 08:19 | 4 | |||||
Ну если уж слишком сильно не придираться к словам про одну строчку, то можно сделать через QJSEngine. Что-то похожее на:
0
|
Тематические курсы и обучение профессиям онлайн Профессия Разработчик на C++ (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
411 / 376 / 63
Регистрация: 29.05.2015
Сообщений: 2,361
|
|
06.06.2019, 20:14 | 5 |
"Вручную" распарсить можно, и не сложно. Я уже (за пару часов) написал функцию, которая из арифметической строки "вырезает" подстроку, которая должна считаться первой (т.е. с умножением или делением). Наример:
12*22+24/8-30/10 --> 12*22 12+22+24/8-30/10 --> 24/8 Идея понятна?
0
|
06.06.2019, 20:14 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Как посчитать математическое ожидание Как преобразовать строку в математическое выражение
Как преобразовать файл в биты (в нули и единицы), чтобы потом можно было его зашифровать в код Грея? Нужно преобразовать предел так, чтобы его можно было посчитать по Лопиталю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |