 Try the examples in this order.

 I have put the code of the functions into the h file, to simplify the work.
 To compile addm.c :   gcc -o addm addm.c

            F   * Fractions
        addmF.c : Add two matrices.
        submF.c   
       multmF.c : multiply two matrices.
        powmF.c   multiply a matrix by itself, (A**0 = id, A**1 = A, A**2 = A*A, ..)
      smultmF.c : multiply a scalar by a matrice.
      transpF.c : transpose.
       traceF.c
         detF.c : Determinant. 
       minorF.c
      cofactF.c : cofactor.
      mcfactF.c : cofactors matrix.
        adjtF.c : adjoint.
         invF.c : inverse.
      inv_xhF.c : inverse another method
         gssF.c : gauss.
       gssjdF.c : gauss jordan.

             R   * Random
        addmFR.c : Add two matrices.
        submFR.c   
       multmFR.c : multiply two matrices.
        powmFR.c   multiply a matrix by itself, (A**0 = id, A**1 = A, A**2 = A*A, ..)
      smultmFR.c : multiply a scalar by a matrice.
      transpFR.c : transpose
       traceFR.c
         detFR.c : Determinant. 
         invFR.c : inverse
      inv_xhFR.c : inverse another method
       gssjdFR.c : gauss jordan
