Умножение матрицы на определитель - C#
Формулировка задачи:
Здравствуйте, помогите сделать программу которая умножает матрицу размерности M*N на её определитель. Я просмотрел предыдущие темы но я не понял как они сделаны, если можно по проще программу и желательно расписать чтобы можно было разобраться.
Смог написать программу матрицы только
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
}
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons { class Program { static void Main(string[] args) { Console.Write("Введите n: "); int n = int.Parse(Console.ReadLine()); Console.Write("Введите m: "); int m = int.Parse(Console.ReadLine()); Console.WriteLine("Заполнение матрици:"); int[,] mas = new int[n, m]; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { mas[i, j] = Convert.ToInt32(Console.ReadLine()); } } Console.WriteLine("Полученная матрица:"); for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { Console.Write(mas[i, j] + "\t"); } Console.WriteLine("\n"); } Console.ReadKey(); } } }
очень срочно нужно
Решение задачи: «Умножение матрицы на определитель»
textual
Листинг программы
static int Op(int[,]A) { if (A.Length == 4) return A [0, 0] * A [1, 1] - A [0, 1] * A [1, 0]; else { int s = 1; int sop=0; for (int i = 0; i < A.GetLength (0); i++) { sop += s * A [0, i] * Op(Minor (A, i)); s *= -1; } return sop; } } static int[,] Minor(int[,]A,int S) { int I=0,J; int[,] a = new int[A.GetLength(0) - 1, A.GetLength(1) - 1]; for (int i = 1; i < A.GetLength(0); i++) { J = 0; for (int j = 0; j < A.GetLength (1); j++) { if (j != S) { a [I, J] = A [i, j]; J++; } } I++; } return a; } public static void Main (string[] args) { Console.Write ("Размерность квадратной матрицы - "); int n = int.Parse (Console.ReadLine ()); int[,] A = new int[n, n]; Random r = new Random (); Console.WriteLine ("Матрица: "); for (int i = 0; i < A.GetLength(0); i++) { for (int j = 0; j < A.GetLength (1); j++) { A [i, j] = r.Next (0, 9);Console.Write (A[i,j]+" "); } Console.WriteLine (); } int det=Op(A); Console.WriteLine ("Определитель матрицы - "+det); for (int i =0; i<A.GetLength(0);i++) { for (int j= 0;j<A.GetLength(1);j++) { A[i,j]*=det;Console.Write(A[i,j]+" ");} Console.WriteLine(); } Console.ReadKey (); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д