int main(void) { Matrix4x4 mat; const double v[]= { 6.0,1.0,4.0,9.0, 9.0,8.0,6.0,1.0, 7.0,2.0,9.0,4.0, 1.0,7.0,5.0,9.0 }; for(int i=0; i<16; ++i) { const int r=1+i/4; const int c=1+i%4; mat.Set(r,c,v[i]); } mat.Print(); mat.Transpose(); printf("\n"); mat.Print(); // If you go for extra credit, uncomment the following three lines. // printf("\n"); // mat.Invert(); // mat.Print(); return 0; }