diff --git a/main.c b/main.c index c75a91a..e610dd1 100644 --- a/main.c +++ b/main.c @@ -13,7 +13,7 @@ int main() printf("\n\n 1. Hypotenuse calculator"); printf("\n 2. Quadratic formula calculator"); printf("\n 3. Area of a circle"); - printf("\n 4. * Matrix determinant *"); + printf("\n 4. Matrix determinant"); printf("\n 5. Matrix addition"); printf("\n 6. * Matrix multiplication *"); printf("\n 7. Scalar matrix multiplication"); @@ -83,8 +83,10 @@ int main() case 4: system("clear"); - printf("\n ~~ Matrix determinant ~~\n\n"); - + printf("\n ~~ 2*2 Matrix determinant ~~\n\n"); + int det; + det = determinant(); + printf("\nThe determinant is %d!\n",det); break; case 5: diff --git a/matrices.h b/matrices.h index be7261f..f21c1fd 100644 --- a/matrices.h +++ b/matrices.h @@ -59,10 +59,9 @@ int matrixAddition(int numRows, int numColumns) int scalarMultiplication(int numRows, int numColumns, int scalar) { - int matrix[numRows][numColumns]; - printf("\nEnter elements in matrix of size %d*%d \n", numRows, numColumns); + printf("\nEnter elements in matrix of size %d*%d! \n", numRows, numColumns); for (int i = 0; i < numRows; i++) { @@ -85,6 +84,33 @@ int scalarMultiplication(int numRows, int numColumns, int scalar) return 0; } +int determinant() +{ + int det; + int matrix[2][2]; + printf("\nEnter elements in matrix: \n"); + for (int i = 0; i < 2; i++) + { + for (int j = 0; j < 2; j++) + { + scanf("%d", &matrix[i][j]); + } + }; + + printf("\nElements in matrix are: \n"); + for (int i = 0; i < 2; i++) + { + for (int j = 0; j < 2; j++) + { + printf(" %d ", matrix[i][j]); + } + printf("\n"); + } + + det = (matrix[0][0] * matrix[1][1]) - (matrix[0][1] * matrix[1][0]); + return det; +} + // int buildMatrix(int numRows, int numColumns) // {