Умножение матрицы на определитель - 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 ();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5