Exemplo n.º 1
0
        public static string GetAnswer(string input)
        {
            var strDet = MatrixDetSolver.GetAns(input);
            var det    = long.Parse(strDet);
            var m      = MatrixDetSolver.GetArrayFromTheString(input);

            if (det == 0)
            {
                return("unsolvable");
            }
            decimal[][] inv = MatrixInverse(m);

            var dimensionMatrix = inv.Length;
            var answer          = new StringBuilder();

            for (int i = 0; i < inv.Length; i++)
            {
                for (int j = 0; j < inv.Length; j++)
                {
                    if (j != dimensionMatrix - 1)
                    {
                        answer.Append(inv[i][j].ToString(CultureInfo.InvariantCulture) + " & ");
                    }
                    else if (dimensionMatrix - 1 != i)
                    {
                        answer.Append(inv[i][j].ToString(CultureInfo.InvariantCulture) + " \\\\ ");
                    }
                    else
                    {
                        answer.Append(inv[i][j].ToString(CultureInfo.InvariantCulture));
                    }
                }
            }
            return(answer.ToString());
        }
Exemplo n.º 2
0
        public static string GetAnswer(string input)
        {
            /*
             * input:
             * 40 & -8 \\ -100 & 20
             * answer:
             * unsolvable
             *
             *
             * стоит еще потестить когда нормальный ответ
             * //*/

            var strDet = MatrixDetSolver.GetAns(input);
            var det    = long.Parse(strDet);
            var a      = MatrixDetSolver.GetArrayFromTheString(input);

            if (det != 0)
            {
                return(TransposeMatrix(1.0M / det, a));
            }
            return("unsolvable");
            //*/
        }