Beispiel #1
0
        private void DrawCurStep()
        {
            SimplexTable.Columns.Clear();
            SimplexTable.Rows.Clear();

            lblCurStep.Text = $"Текущий шаг {curStep} из {nSteps}";

            SimplexMethod sm = steps[curStep];

            for (int i = 0; i < sm.freeVariables.Count + 2; i++)
            {
                SimplexTable.Columns.Add("", "");
            }
            List <string> r1 = new List <string>();

            r1.Add($"X({sm.NStep})");
            for (int i = 0; i < sm.freeVariables.Count; i++)
            {
                r1.Add("X" + sm.freeVariables[i]);
            }
            r1.Add("");

            SimplexTable.Rows.Add(r1.ToArray());
            for (int i = 0; i <= sm.basisVariables.Count; i++)
            {
                List <string> r = new List <string>();
                if (i != sm.basisVariables.Count)
                {
                    r.Add("X" + sm.basisVariables[i]);
                }
                else
                {
                    r.Add("");
                }
                for (int j = 0; j < sm.freeVariables.Count + 1; j++)
                {
                    r.Add(sm.table[i, j].ToString());
                }

                SimplexTable.Rows.Add(r.ToArray());
            }

            SimplexTable.ClearSelection();
            DrawOporniyElements();
            setStyle();
            WriteSolution();
        }