اینم کد کامل
#include <iostream>
using namespace std;
class MATRIX
{
private:
int row;
int column;
int **MatrixArray;
public:
MATRIX();
void getMatrix();
void setMatrix();
MATRIX operator+(MATRIX mat);
MATRIX operator-(MATRIX mat);
MATRIX operator*(MATRIX mat);
MATRIX operator*(int k);
};
MATRIX:: MATRIX()
{
for (int i=0 ; i<row ; i++)
{
for (int j=0 ;j<column ; j++)
{
MatrixArray[i][j]=0;
}
}
}
/*################################################# ###########################*/
void MATRIX::getMatrix()
{
cout << "please enter number of the matrix row: " ;
cin >> row ;
cout << "please enter number of the matrix column: " ;
cin >> column;
MatrixArray = new int *[row];
for (int i=0 ; i<row ; i++)
{
MatrixArray[i] = new int [column];
}
cout << "palease enter the dray of matrix: " << endl ;
for (int j=0 ; j<row ; j++)
{
for (int k=0 ; k<column ; k++)
{
cout << "dray["<<j<<"]"<<"["<<k<<"]=";
cin>> MatrixArray[j][k];
}
}
}
/*################################################# ##############################*/
void MATRIX::setMatrix()
{
for(int i=0 ; i<row ; i++)
{
for (int j=0 ; j<column ; j++)
{
cout << MatrixArray[i][j]<< "\t"/*?*/ ;
}
cout << endl;
}
}
/*################################################# ##############################*/
MATRIX MATRIX::operator +(MATRIX mat)
{
MATRIX tempMAT;
tempMAT.row = row;//?
tempMAT.column = column;//?
tempMAT.MatrixArray =new int *[row];
for (int i=0 ; i<row ; i++)
{
tempMAT.MatrixArray[i] = new int [column];
}
for (int j=0 ; j<row ; j++)
{
for ( int k=0 ; k<column ; k++)
{
tempMAT.MatrixArray[j][k] = MatrixArray[j][k] + mat.MatrixArray[j][k];
}
}
return tempMAT;//?
}
/*################################################# #############################*/
MATRIX MATRIX::operator -(MATRIX mat)
{
MATRIX tempMAT;
tempMAT.row = row ;
tempMAT.column = column;
tempMAT.MatrixArray = new int *[row];
for (int i=0 ; i<row ; i++)
{
tempMAT.MatrixArray[i] = new int [column];
}
for (int j=0 ; j<row ; j++)
{
for (int k=0 ; k<column ; k++)
{
tempMAT.MatrixArray[j][k] = MatrixArray[j][k] - mat.MatrixArray[j][k];
}
}
return tempMAT;
}
/*################################################# ###########################*/
MATRIX MATRIX::operator *(MATRIX mat)
{
MATRIX tempMAT;
tempMAT.row = row;
tempMAT.column = mat.column;
tempMAT.MatrixArray = new int *[row];
for (int i=0 ; i<row ; i++)
{
tempMAT.MatrixArray[i] = new int [mat.column];
}
for (int j=0 ; j<row ; j++)
{
for (int k=0 ; k<mat.column ; k++)
{
tempMAT.MatrixArray[j][k]=0;//?
for (int l=0 ; l<mat.column ; l++)
{
tempMAT.MatrixArray[j][k] += (MatrixArray[j][l]) * (mat.MatrixArray[l][k]);
}
}
}
return tempMAT;
}
/*################################################# ###########################*/
MATRIX MATRIX::operator* (int k)
{
MATRIX tempMAT;
tempMAT.row = row;
tempMAT.column = column;
tempMAT.MatrixArray = new int *[row];
for (int i=0 ; i<row ; i++)
{
tempMAT.MatrixArray[i] = new int [column];
}
for (int l=0 ; i<row ; i++)
{
for (int j ; j<column ; j++)
{
tempMAT.MatrixArray[l][j]=0;
}
}
for (int j=0 ; j<row ; j++)
{
for (int k=0 ; k<column ; k++)
{
tempMAT.MatrixArray[j][k] *= k;
}
}
return tempMAT;
}
/*################################################# #########################*/
void main()
{
MATRIX mat1;
MATRIX mat2;
MATRIX mat3;
MATRIX mat4;
MATRIX mat5;
MATRIX mat6;
int kk;
cin >> kk;
mat1.getMatrix();
mat2.getMatrix();
mat3 = mat2 + mat1;
mat4 = mat2 - mat1;
mat5 = mat2 * mat1;
mat6 = mat2 * kk;
mat1.setMatrix();
cout<<endl;
mat2.setMatrix();
cout<<endl;
mat3.setMatrix();
cout<<endl;
mat4.setMatrix();
cout<<endl;
mat5.setMatrix();
cout<<endl;
mat6.setMatrix();
}