Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //вывод вектора свободных членов
- Console.WriteLine("Вектор свободных членов: ");
- foreach (var now in free)
- Console.WriteLine(String.Format("{0,3}", now));
- Console.WriteLine("\nМатрица: ");
- //выводим матрицу в консоль
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- Console.Write(String.Format("{0,3}", matrix[i, j]));
- }
- Console.WriteLine();
- }
- Console.WriteLine("\nРасширенная матрица: ");
- //выводим расширенную матрицу в консоль
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- Console.Write(String.Format("{0,3}", matrix[i, j]));
- }
- Console.Write($" | { free[0,i]}");
- Console.WriteLine();
- }
- //нахождение определителя
- int mD = m + m - 1;
- int [,] det = new int[n, mD];
- //создание матрицы расширенной
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- det[i, j] = matrix[i, j];
- }
- }
- for (int i = 0; i < n; i++) {
- for (int j = m, mj = 0; j < mD && mj < m; j++, mj++) {
- det[i, j] = matrix[i, mj];
- }
- }
- //------------------------------------
- //вычисление определителя по методу Саррюса
- int res = 0, localRes = 1;
- for (int p = 0; p<3; p++) {
- for (int i = 0, j = p; i < n && j < m+p; i++, j++) {
- localRes *= det[i, j];
- }
- res += localRes;
- localRes = 1;
- }
- for (int p = 0; p<3; p++) {
- for (int i = 0, j = mD-1; i < n && j >=m-1; i++, j--) {
- localRes *= det[i, j-p];
- }
- res -= localRes;
- localRes = 1;
- }
- Console.WriteLine($"\nОпределитель матрицы равен: {res} \n");
- Console.WriteLine("Матрица определителя:");
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < mD; j++) {
- Console.Write(String.Format("{0,3}", det[i, j]));
- }
- Console.WriteLine();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement