Esempio n. 1
0
        private void btnCalculate_Click(object sender, RoutedEventArgs e)
        {
            Rows = new List <RowInTabl>();
            int minRange = Convert.ToInt32(tbMinRange.Text);
            int maxRange = Convert.ToInt32(tbMaxRange.Text);
            int step     = Convert.ToInt32(tbStep.Text);

            string expression = Convert.ToString(tbExpression.Text);

            List <string> newExsaple = (CreateRPN.Parse(expression));
            List <string> RPN        = new List <string>();

            string rpnStr = "";

            for (int i = minRange; i <= maxRange; i += step)
            {
                RPN = newExsaple.GetRange(0, newExsaple.Count);

                for (int j = 0; j < RPN.Count; j++)
                {
                    if (newExsaple[j] == "x")
                    {
                        RPN[j] = $"{i}";
                    }
                }

                rpnStr = RPN[0];
                for (int k = 1; k < RPN.Count; k++)
                {
                    rpnStr += $",{RPN[k]}";
                }

                Rows.Add(new RowInTabl()
                {
                    RPN = rpnStr, step = i, res = Function.Calculate(RPN)
                });
            }

            dgTab.ItemsSource   = Rows;
            btGoGrap.Visibility = Visibility.Visible;
        }
Esempio n. 2
0
 public int CreateRPN_Test(string expression)
 {
     return((CreateRPN.Parse(expression)).Count);
 }