Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
typedef struct {
double **m, *potentials;
int numnodes, *path, patlen;
ia
} Graph;
er
m = (double **) calloc(nrows, sizeof(double *));
gn
return m;
}
while(order>1){
for (i = 0; i < dim; i++)
In
for (j = 0; j < dim; j++) {
res[i][j] = 0.0;
for (k = 0; k < dim; k++)
res[i][j] += original[i][k] * tmp[k][j];
}
for(i=0;i<dim;++i)
re
for(j=0;j<dim;++j)
tmp[i][j]=res[i][j];
--order;
}
ve
}
//Inserisce in una lista gli elementi della diagonale diversi da 0
Nodo * cycles(Graph *g, int n){
Nodo *lista=NULL,*nuovo;
int i,j;
double **matrix;
Vi
matXmatN(g->m,matrix,g->numnodes,n);
for(i=0;i<g->numnodes;++i)
if(matrix[i][i]!=0){
nuovo=(Nodo*)malloc(sizeof(Nodo));
nuovo->next=lista;
nuovo->nodo=matrix[i][i];
lista=nuovo;
}
return lista;
}
-1-