Как считать уравнения из строки - C#

Формулировка задачи:

Здравствуйте! Не могу ни как решить проблему. Например есть переменная типа string
string str = "1/ln(x)";
или
string str = "1/cos(x)";
В переменной str может быть любое уравнение(её задаёт пользователь). Переменную x типа int тоже задаёт пользователь. Необходимо решить уравнения.

Код к задаче: «Как считать уравнения из строки - C#»

textual
namespace ConsoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 2;
            string str = "1/sin(x)";
            string res = null;
            string[] mathFunc = { "ln", "log", "sin", "tg", "cos"};
            for (int i = 0; i < 5; i++)
            {
                if (str.IndexOf(mathFunc[i])>-1)
                {
                    res = str.Replace(mathFunc[i], "Math." + mathFunc[i]);
                }
            }
            Console.WriteLine(res);
            Console.ReadKey();
        }
    }
}

11   голосов, оценка 4.091 из 5


СОХРАНИТЬ ССЫЛКУ