Переполнение стека - C# (181907)

Узнай цену своей работы

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

string[] syntax = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/", "^", "sin(", "cos(", "tan(", "ln(", "sqrt(", "x" };
 
        private double textread(string thistext)
        {
            textbox.Text.ToLower();
            if (textbox.Text.Contains(syntax[15]))
            {
                return myfun.sin(textread(textbox.Text[4])); // здесь возникает ошибка
            }
            if (textbox.Text.Contains(syntax[20]))
            {
                return myfun.fx(x);
            }
            else
            {
                return myfun.fx(0);
            }
        }
это кусок кода для проги, которая рисует составные функции. при вводе в текстбокс выражения "sin(x" он говорит о бесконечной функции, хотя она была бы только для выражения textread(textbox.text (тогда бы он постоянно ссылался на синус и не дошёл бы до икс), но он и при ссылке на четвёртый символ (х) не доходит до строчки с fx, почему так? и как это исправить?

Решение задачи: «Переполнение стека»

textual
Листинг программы
private double textread(string thistext)
        {
            thistext = textbox.Text.ToLower();
            if (textbox.Text.Contains(syntax[15]))
            {
                return myfun.sin(textread(thistext.Substring(4)));
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5