Найдите произведение двух матриц - C#

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

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

Всем привет, сделал задание: Найдите произведение двух матриц 2х2. но без использования структуры. К теме прикрепил саму задачу. Заранее благодарю)

Решение задачи: «Найдите произведение двух матриц»

textual
Листинг программы
        struct Matrix22
        {
            private int a11, a12, a21, a22; //элементы матрицы
            public Matrix22(int a11, int a12, int a21, int a22)
            {
                this.a11 = a11;
                this.a12 = a12;
                this.a21 = a21;
                this.a22 = a22;
            }
            public int this[int i, int j]  //Индексатор
            {
                get
                {
                    if (i == 0)
                    {
                        if (j == 0)
                            return a11;
                        if (j == 1)
                            return a12;
                    }
                    if (i == 1)
                    {
                        if (j == 0)
                            return a21;
                        if (j == 1)
                            return a22;
                    }
                    throw new IndexOutOfRangeException();
                }
                set
                {
                    if ((i != 0 && i != 1) || (j != 0 && j != 1))
                        throw new IndexOutOfRangeException();
                    if (i == 0)
                    {
                        if (j == 0)
                            a11 = value;
                        else
                            a12 = value;
                    }
                    else
                    {
                        if (j == 0)
                            a21 = value;
                        else
                            a22 = value;
                    }
                    
                }
            }
            public static Matrix22 operator *(Matrix22 a, Matrix22 b) //переопределение оператора *
            {
                Matrix22 res = new Matrix22();
                res[0, 0] = a[0, 0] * b[0, 0] + a[0, 1] * b[1, 0];
                res[0, 1] = a[0, 0] * b[0, 1] + a[0, 1] * b[1, 1];
                res[1, 0] = a[1, 0] * b[0, 0] + a[1, 1] * b[1, 0];
                res[1, 1] = a[1, 0] * b[0, 1] + a[1, 1] * b[1, 1];
                return res;
            }
            public override string ToString()
            {
                return string.Format("{0} {1}\n{2} {3}", a11, a12, a21, a22);
            }
        }
        static void Main(string[] args)
        {
            Matrix22 m1 = new Matrix22(1,2,3,4);
            Matrix22 m2 = new Matrix22(5,6,7,8);
            Console.WriteLine(m1);
            Console.WriteLine();
            Console.WriteLine(m2);
            Console.WriteLine();
            Console.WriteLine(m1 * m2);
            Console.ReadKey();
        }

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


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

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

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