Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MatrixDeterminant
- {
- class Program
- {
- public static int[,] get_matrix(int[,] mas, int size, int row)
- {
- int[,] arr = new int[size, size];
- int iarr = 0;
- for (int i = 0; i<(size-1); i++)
- {
- int jarr = 1;
- if (iarr==row)
- iarr++;
- for (int j = 0; j<(size-1); j++)
- {
- arr[i, j] = mas[iarr, jarr];
- jarr++;
- }
- iarr++;
- }
- return (arr);
- }
- public static double determinant(int[,] mas, int size)
- {
- double det = 0;
- if (size == 1)
- return mas[0, 0];
- for (int i = 0; i < size; i++)
- {
- det += Math.Pow(-1, (i + 2)) * mas[i, 0] * determinant(get_matrix(mas, size, i), size - 1);
- }
- return det;
- }
- static void Main(string[] args)
- {
- int size;
- Console.WriteLine("Enter the dimension of the matrix: ");
- Random rnd = new Random();
- try
- {
- size = Convert.ToInt32(Console.ReadLine());
- int[,] arr = new int[size, size];
- for (int i = 0; i < size; i++)
- {
- for (int j = 0; j < size; j++)
- {
- arr[i, j] = rnd.Next(-5, 6);
- }
- }
- for (int i = 0; i < size; i++)
- {
- for (int j = 0; j < size; j++)
- {
- Console.Write("{0,6}", arr[i, j]);
- }
- Console.WriteLine();
- Console.WriteLine();
- }
- Console.WriteLine("Matrix determinant is: " + determinant(arr, size));
- }
- catch (FormatException)
- {
- Console.WriteLine("Invalid format");
- }
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement