Тема: Ділення матриць (С++)
Мені потрібно додати,відняти,перемножити і поділити 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();
}