예제 #1
0
        public static double[,] task11(double[,] x)
        {
            double det = 1d / Dimas.det(x);

            double[,] x1 = tr(dop(x));
            for (int i = 0; i < x1.GetLength(0); i++)
            {
                for (int j = 0; j < x1.GetLength(1); j++)
                {
                    x1[i, j] *= det;
                }
            }
            return(x1);
        }
예제 #2
0
 static void Main(string[] args)
 {
     try
     {
         int n = Convert.ToInt32(Console.ReadLine());
         int m = Convert.ToInt32(Console.ReadLine());
         double[,] mat = Dimas.InputMatrix(n, m);
         int    first  = Dimas.first(mat);
         double second = Dimas.second(mat);
         int    third  = Dimas.third(mat);
         int    task4  = Dimas.task4(mat);
         double task5  = Dimas.task5(mat);
         double task6  = 0;
         double task8  = 0;
         double task7  = Dimas.task7(mat);
         double task9  = Dimas.task9(mat);
         if (mat.GetLength(0) == mat.GetLength(1))
         {
             task6 = Dimas.task6(mat);
             task8 = Dimas.task8(mat);
         }
         Console.WriteLine("1) {0}\n2) {1}\n3) {2}\n4) {3}\n5) {4}\n6) {5}\n 7) {6}\n8) {7}\n9) {8}", first, second, third, task4 + 1 /*отсчет с 1*/, task5, task6, task7, task8, task9);
         Console.WriteLine("Транспонированая матрица: \n");
         Dimas.WriteMatrix(Dimas.tr(mat));
         Console.WriteLine("Oбратная матрица:\n");
         if (mat.GetLength(0) == mat.GetLength(1))
         {
             Dimas.WriteMatrix(Dimas.task11(mat));
         }
         else
         {
             Console.WriteLine("Только для кв. матрици\n");
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(@"Что-то пошло не так :/ " + e + "\n");
     }
     Console.ReadKey();
 }