#include "pch.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
static double trace;
float Matrix[3][3] = { {1.f/3.f, 1.f/4.f, 1.f/5.f} , {1.f/4.f, 1.f/5.f, 1.f/6.f} , {1.f/5.f, 1.f/6.f,1.f/7.f} };
int m = 3, n = 3, i, j;
cout << "Entered Matrix : \n ";
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
std::cout << std::fixed << std::setprecision(3) << Matrix[i][j] << " ";
cout << "\n ";
}
cout << "Transpose of Matrix : \n ";
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
cout << Matrix[j][i] << " ";
cout << "\n ";
}
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (i == j) {
trace = trace + Matrix[i][j];
}
}
}
cout << "The trace is: " << trace << endl;
float detx = (Matrix[0][0]*Matrix[1][1]*Matrix[2][2])+(Matrix[1][0]*Matrix[2][1]*Matrix[0][2])+(Matrix[2][0]*Matrix[0][1]*Matrix[1][2]);
float dety = (Matrix[0][2]*Matrix[1][1]*Matrix[2][0])+(Matrix[1][2]*Matrix[2][1]*Matrix[0][0])+(Matrix[2][2]*Matrix[0][1]*Matrix[1][0]);
float determinant = detx - dety;
std::cout << "The determinant is: " << std::fixed << std::setprecision(27) << determinant << " ";
std::getchar();
return 0;
}