Тема: Ділення матриць (С++)
Мені потрібно додати,відняти,перемножити і поділити 2 матриці. У мене є клас у якому перевантажуються ці оператори.Я ледве розібрався з множенням і не знаю чи на 100% воно працює правильно, а от з діленням матриць я взагалі повний 0. Допоможіть його написати. Please
#include<iostream>
#include<string.h>
#include<iomanip>
#include<ctime>
#include<conio.h>
using namespace std;
const int n = 4;
class matrix
{
    int arr[n][n];
public:
    int& at(int a, int b) { return arr[a][b]; }
    matrix()
    {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                arr[i][j] = 0;
            }
        }
    }
    matrix operator+ (matrix& m1)
    {
        matrix result1;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                result1.arr[i][j] = this->at(i, j) + m1.arr[i][j];
            }
        }
        return result1;
    }
    matrix operator- (matrix& m2)
    {
        matrix result2;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                result2.arr[i][j] = this->at(i, j) - m2.arr[i][j];
            }
        }
        return result2;
    }
    matrix operator* (matrix& m3)
    {
        matrix result3;
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                result3.arr[i][j] = 0;
                for (int k = 0; k < n; k++)
                {
                    result3.arr[i][j] += this->at(i, k)* m3.arr[k][j];
                }
            }
        }
        return result3;
    }
    matrix operator/ (matrix& m4)
    {
        matrix result4;
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < n; j++)
            {
                //????????????????????
            }
        }
    }
    void rand()
    {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                arr[i][j] = ::rand() % 10;
            }
        }
    }
    bool operator==(matrix& m5)
    {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
            {
                if (this->arr[i][j] != m5.arr[i][j]) return false;
            }
        }
        return true;
    }
    void print(matrix &m6)
    {
        for (int i = 0; i < n; i++)
        {
            cout << endl;
            for (int j = 0; j < n; j++)
            {
                cout << setw(5) << m6.arr[i][j];
            }
        }
    }
};
void main()
{
    matrix a, b, c;
    b.rand();
    c.rand();
    if((b==c) ==0)
    {
        cout << "\nMatrix 2 is not equal to matrix 1";
    }
    else
    {
        cout << "\nMatrix 2 is Matrix 1";
    }
    cout << "\n\tArray 1";
    a.print(a);
    cout << "\n\tArray 2";
    b.print(b);
    cout << "\n\tArray 3";
    c.print(c);
    a = b + c;
    cout << "\n\tArray1 = Arr2 + Arr3";
    a.print(a);
    cout << "\n\tArray1 = Arr2 - Arr3";
    a = b - c;
    a.print(a);
    cout << "\n\tArray1 = Arr2 * Arr3";
    a = b * c;
    a.print(a);
    cout << "\n\tArray1 = Arr2 / Arr3";
    a = b / c;
    a.print(a);
    _getch();
}