Определить, является ли произведение матриц перестановочным - C#

Узнай цену своей работы

Формулировка задачи:

Заданы две матрицы А(3, 3) и В(3, 3). Написать программу проверки - является ли произведение этих матриц перестановочным, т.е. проверить равенство AB = ВА. Помогите пожалуйста.

Решение задачи: «Определить, является ли произведение матриц перестановочным»

textual
Листинг программы
using System;
 
namespace ConsoleApplication3
{
    class Program
    {
        static double[,] MatrixMultiplication(double[,] firstMatrix, double[,] secondMatrix)
        {
            if (firstMatrix.GetLength(1) != secondMatrix.GetLength(0))
                throw new Exception();
            double[,] result = new double[firstMatrix.GetLength(0), secondMatrix.GetLength(1)];
            for (int i = 0; i < firstMatrix.GetLength(0); i++)
                for (int j = 0; j < secondMatrix.GetLength(1); j++)
                    for (int k = 0; k < secondMatrix.GetLength(0); k++)
                        result[i, j] += firstMatrix[i, k] * secondMatrix[k, j];
            return result;
        }
        static bool CheckEqual(double[,] firstMatrix, double[,] secondMatrix)
        {
            for (int i = 0; i < firstMatrix.GetLength(0); i++)
                for (int j = 0; j < secondMatrix.GetLength(1); j++)
                    if (firstMatrix[i, j] != secondMatrix[i, j])
                        return false;
            return true;
        }
        static void Main(string[] args)
        {
            double[,] firstMatrix = new double[3, 3] { { 1, 1, 1 }, { 2, 2, 2 }, { 1, 1, 1 } };
            double[,] secondMatrix = new double[3, 3] { { 1, 1, 1 }, { 2, 2, 2 }, { 1, 1, 1 } };
            try
            {
                if (CheckEqual(MatrixMultiplication(firstMatrix, secondMatrix), MatrixMultiplication(secondMatrix, firstMatrix)))
                    Console.WriteLine("AB = BA");
                else
                    Console.WriteLine("AB != BA");
            }
            catch(Exception)
            {
                Console.WriteLine("Матрицы не могут быть умноженными.");
            }
            Console.ReadKey();
        }
    }
}

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


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

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

13   голосов , оценка 4.077 из 5
Похожие ответы