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

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

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

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

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

textual
Листинг программы
  1. using System;
  2.  
  3. namespace ConsoleApplication3
  4. {
  5.     class Program
  6.     {
  7.         static double[,] MatrixMultiplication(double[,] firstMatrix, double[,] secondMatrix)
  8.         {
  9.             if (firstMatrix.GetLength(1) != secondMatrix.GetLength(0))
  10.                 throw new Exception();
  11.             double[,] result = new double[firstMatrix.GetLength(0), secondMatrix.GetLength(1)];
  12.             for (int i = 0; i < firstMatrix.GetLength(0); i++)
  13.                 for (int j = 0; j < secondMatrix.GetLength(1); j++)
  14.                     for (int k = 0; k < secondMatrix.GetLength(0); k++)
  15.                         result[i, j] += firstMatrix[i, k] * secondMatrix[k, j];
  16.             return result;
  17.         }
  18.         static bool CheckEqual(double[,] firstMatrix, double[,] secondMatrix)
  19.         {
  20.             for (int i = 0; i < firstMatrix.GetLength(0); i++)
  21.                 for (int j = 0; j < secondMatrix.GetLength(1); j++)
  22.                     if (firstMatrix[i, j] != secondMatrix[i, j])
  23.                         return false;
  24.             return true;
  25.         }
  26.         static void Main(string[] args)
  27.         {
  28.             double[,] firstMatrix = new double[3, 3] { { 1, 1, 1 }, { 2, 2, 2 }, { 1, 1, 1 } };
  29.             double[,] secondMatrix = new double[3, 3] { { 1, 1, 1 }, { 2, 2, 2 }, { 1, 1, 1 } };
  30.             try
  31.             {
  32.                 if (CheckEqual(MatrixMultiplication(firstMatrix, secondMatrix), MatrixMultiplication(secondMatrix, firstMatrix)))
  33.                     Console.WriteLine("AB = BA");
  34.                 else
  35.                     Console.WriteLine("AB != BA");
  36.             }
  37.             catch(Exception)
  38.             {
  39.                 Console.WriteLine("Матрицы не могут быть умноженными.");
  40.             }
  41.             Console.ReadKey();
  42.         }
  43.     }
  44. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы