Dark_Tranquillity
01-05-2004, 09:50
Qualcuno sarebbe cosė gentile da convertire il codice in java sottostante nel rispettivo codice C???
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[i][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;
}
Grazie
PS: ovviamente parlo di tradurre:
private long det (int [][] matrice, int ordine) {
long risultato = 0;
int [][] nuova;
int pos;
e:
nuova = new int[ordine-1][ordine-1];
Visto che per il resto č uguale a qualsiasi altro linguaggio
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[i][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;
}
Grazie
PS: ovviamente parlo di tradurre:
private long det (int [][] matrice, int ordine) {
long risultato = 0;
int [][] nuova;
int pos;
e:
nuova = new int[ordine-1][ordine-1];
Visto che per il resto č uguale a qualsiasi altro linguaggio