Size: a a a

2020 April 22

SR

Serhii Romanenko in unity3d.ru
Alex
Переслано от
Всем привет! Подскажите пожалуйста. Можно ли как-то реализовать эквивалентность выражений?
Например, есть задача и ответом будет "a+b", но пользователь вводит "b+a", что есть тоже правильное решение. Но как можно задать в программе таким образом что "b+a" тоже верно? если мы суммируем числа, то неважно как бы мы их не переставляли, мы сравниваем ответ какой получается. А вопрос в буквенных выражениях. Как сравнить такие ответы на правильность?
на буквах эквивалентность.. наверное нет. переводить в числа и считать..
источник

SR

Serhii Romanenko in unity3d.ru
Alex
Переслано от
Всем привет! Подскажите пожалуйста. Можно ли как-то реализовать эквивалентность выражений?
Например, есть задача и ответом будет "a+b", но пользователь вводит "b+a", что есть тоже правильное решение. Но как можно задать в программе таким образом что "b+a" тоже верно? если мы суммируем числа, то неважно как бы мы их не переставляли, мы сравниваем ответ какой получается. А вопрос в буквенных выражениях. Как сравнить такие ответы на правильность?
ну или харкодить все возможные результаты 😅
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Alex
Переслано от
Всем привет! Подскажите пожалуйста. Можно ли как-то реализовать эквивалентность выражений?
Например, есть задача и ответом будет "a+b", но пользователь вводит "b+a", что есть тоже правильное решение. Но как можно задать в программе таким образом что "b+a" тоже верно? если мы суммируем числа, то неважно как бы мы их не переставляли, мы сравниваем ответ какой получается. А вопрос в буквенных выражениях. Как сравнить такие ответы на правильность?
можно при вводе проверить оба варианта, чтобы оно проверило, то есть если а + б != с, то проверить б + а != с
источник

A

Alex in unity3d.ru
Aidan Arcueid D'athemon
можно при вводе проверить оба варианта, чтобы оно проверило, то есть если а + б != с, то проверить б + а != с
а если это сложное выражение? то такие сравнение будет геморно прописывать
источник

Nฅ

Navka ฅ^•ﻌ•^ฅ... in unity3d.ru
Alex
Переслано от
Всем привет! Подскажите пожалуйста. Можно ли как-то реализовать эквивалентность выражений?
Например, есть задача и ответом будет "a+b", но пользователь вводит "b+a", что есть тоже правильное решение. Но как можно задать в программе таким образом что "b+a" тоже верно? если мы суммируем числа, то неважно как бы мы их не переставляли, мы сравниваем ответ какой получается. А вопрос в буквенных выражениях. Как сравнить такие ответы на правильность?
Если речь идет о строках, то регулярками или вхождением нужных подстрок в строку?
источник

Nฅ

Navka ฅ^•ﻌ•^ฅ... in unity3d.ru
Navka ฅ^•ﻌ•^ฅ
Если речь идет о строках, то регулярками или вхождением нужных подстрок в строку?
Реплейсишь все подстроки, которые нужны и если после этого размер строки больше нуля — ответ неверный
Как и в случае отрицательного нахождения подстроки в строке
источник

МБ

Мэй Берия in unity3d.ru
Aidan Arcueid D'athemon
можно при вводе проверить оба варианта, чтобы оно проверило, то есть если а + б != с, то проверить б + а != с
терези?!
источник

SA

Sergey Ankinovich in unity3d.ru
Alex
Переслано от
Всем привет! Подскажите пожалуйста. Можно ли как-то реализовать эквивалентность выражений?
Например, есть задача и ответом будет "a+b", но пользователь вводит "b+a", что есть тоже правильное решение. Но как можно задать в программе таким образом что "b+a" тоже верно? если мы суммируем числа, то неважно как бы мы их не переставляли, мы сравниваем ответ какой получается. А вопрос в буквенных выражениях. Как сравнить такие ответы на правильность?
В случае если выражения будут усложняться, логичнее раскидать его на токены и дальше у тебя вполне себе будут возможность упрощать и/или вычислять его
источник

AF

Andrey Faraponov in unity3d.ru
Pavel Abdurakhimov
Ну вообще вот это аргумент) спасибо
Он тебе время в будущем пытается сэкономить, а ты упираешься)
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Мэй Берия
терези?!
да
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Alex
а если это сложное выражение? то такие сравнение будет геморно прописывать
ну другого выхода на видно, так как я делала подобную систему и это единственный нормальный
источник

AN

Arthur Novikov in unity3d.ru
Кто подскажет, с чем может быть связана такая хрень?
источник

M

Max in unity3d.ru
самый адекватный это спарсить ответ и проверить не выражение а ответ
источник

A

Alex in unity3d.ru
Sergey Ankinovich
В случае если выражения будут усложняться, логичнее раскидать его на токены и дальше у тебя вполне себе будут возможность упрощать и/или вычислять его
а вот  тут немного не понял
источник

AN

Arthur Novikov in unity3d.ru
Max
самый адекватный это спарсить ответ и проверить не выражение а ответ
Спасибо
источник

M

Max in unity3d.ru
Arthur Novikov
Спасибо
это не тебе)
источник

SA

Sergey Ankinovich in unity3d.ru
Alex
а вот  тут немного не понял
бахни какую-нибудь обратную польскую нотацию
источник

SA

Sergey Ankinovich in unity3d.ru
во время парса, можешь унифицировать взаимозаменяемые операции и в итоге придешь к единому ответу
источник

AR

Artem Ryder in unity3d.ru
что-то вроде AST дерева получится
источник

SA

Sergey Ankinovich in unity3d.ru
Artem Ryder
что-то вроде AST дерева получится
ну полное дерево наверное не нужно будет строить, можно просто одним проходом всё заменять, просто стек обновлять с текущим выражением
источник