Qualcuno mi aiuta a tradurre questa funzione java in C??
codice:
private long det (int [][] matrice, int ordine) {
   long risultato = 0;
   int [][] nuova;
   int pos;

   if (ordine == 2)
      risultato = matrice[0][0] * matrice[1][1] - matrice[0][1] * matrice[1][0];
   else {
      nuova = new int[ordine-1][ordine-1];
      for (int k=0; k<ordine;k++) {
         for (int i=1; i<ordine; i++) {
            pos = 0;
            for (int j=0; j<ordine; j++)
               if (j != k) {
                  nuova[i-1][pos] = matrice[j];
                  pos++;
               }
         }

         if ((k % 2) == 0)
            risultato = risultato + matrice[0][k] * det(nuova, (ordine-1));
         else
            risultato = risultato - matrice[0][k] * det(nuova, (ordine-1));
      }
   }

   return risultato;
}

Il problema è che non sò convertirla in maniera corretta in C.
grazie