#include #include #include #include #include #define MAX 50 typedef struct st{ int costo; int km; } tabella; FILE *fp; tabella **matrix; char **column; int n_citta,citta_ts,nodo; int citta_bs,costo_bs,km_bs; int citta_s,costo_s,km_s; int *bs,*s,*km,*cst,*visitato; void burn_matrix(char *); void check_path(int,int); int posizione(char*,int); void alloca(void); int randomizza(void); void printa(void); int main(void) { char nome_file[50],stream[50]; int euro; printf("Inserisci nome file sorgente: "); gets(nome_file); printf("Inserisci euro a disposizione: "); gets(stream); euro=atoi(stream); burn_matrix(nome_file); alloca(); nodo=randomizza(); check_path(nodo,euro); printa(); getch(); free(matrix); free(column); return 0; } int randomizza(void) { randomize(); return (random(n_citta)); } void burn_matrix(char* nome) { int i,j; int n_raggiunte,cash,kilometres,indice; char stream[MAX]; if((fp=fopen(nome, "r"))==NULL) printf("File %d non trovato\n"); fgets(stream,51,fp); n_citta=atoi(stream); matrix=(tabella**)calloc(n_citta,sizeof(tabella*)); for(i=0;ikm_bs) salva=1; } else { if(km_s>km_bs) salva=1; } if(salva==1) { km_bs=0; costo_bs=0; for(i=0;i