Professional Documents
Culture Documents
{
private:
int row, col, scalar;
int matrix[10][10];
int result[10][10];
public:
// Default Constructor.
Matrix()
{
row = 0;
col = 0;
scalar = 0;
for (int i = 0; i< row; i++)
{
for (int j = 0; j < col; j++)
{
matrix[i][j] = 0;
result[i][j] = 0;
} } }
// Constructor.
Matrix(int r, int c, int s)
{
row = r;
col = c;
scalar = s;
for (int i = 0; i< row; i++)
{
for (int j = 0; j < col; j++)
{
matrix[i][j] = 0;
result[i][j] = 0;
} } }
// Operator overload.
int &operator()(int row, int col)
{
return matrix[row][col];
}
// Get matrix size and populate all matrix elements.
void getInput()
{
do
{
cout<< "Rows = ";
cin>> row;
cout<< "Columns = ";
cin>> col;
if (row < 1 || col < 1 || row > 10 || col > 10)
{
cout<< "\nInvalid entries. Min size = 1x1 and max size = 10x10.\n";
}
}
while (row < 1 || col < 1 || row > 10 || col > 10);
cout<< "\nRemember to enter matrix entries from top-left to bottom-right.\n";
for (int i = 0; i< row; i++)
{
for (int j = 0; j < col; j++)
{
cout<< "Matrix Entry (" <<i<< "," << j << ") = ";
cin>> matrix[i][j];
} } }
}
// Transpose matrix.
void transpose()
{
int temp = row;
row = col;
col = temp;
for (int i = 0; i< row; i++)
{
for (int j = 0; j < col; j++)
{
result[i][j] = matrix[j][i];
}
}
displayResultMatrix(row, col);
}
int determinantFinder()
{
if (col == row)
{
int determinant;
int determinantFinder(int n, int temp[10][10]);
int n, temp[10][10];
if (row == 1)
{
determinant = matrix[0][0];
}
else if (row == 2)
{
determinant = (matrix[0][0] * matrix[1][1]) - (matrix[0][1] * matrix[1][0]);
}
else
{
for (int p = 0; p < row; p++)
{
int h = 0;
for (int i = 1; i < row; i ++)
{
int k=0;
for (int j = 0; j < col; j++)
{
if (j == p)
{
continue;
}
temp[h][k] = matrix[i][j];
k++;
}
if (k!=col-1)
{
cout << "Cannot find the determinant of this matrix. (Must be nxn)\n";
}
else
h++;
}
determinant = determinant + pow(-1, p) * matrix[0][p] * determinantFinder(n-1, temp);
}
}
return determinant;
cout << "The determinant of this matrix is: " << determinant << endl;
}
}
int main ()
{
system("PAUSE");
return EXIT_SUCCESS;
}
/*******************************************************************************
* Thank you for using my program *
*******************************************************************************/