int main (int argc, char *argv[]) { if(!argv[1]) { fprintf(stderr,"Parametre manquant\n\t1 : Fichier lut .cha\n"); return 1; } FILE *f=fopen(argv[1],"r"); if(!f) { fprintf(stderr,"Erreur ouverture fichier"); return 1; } ListeChaine l; lecture_chaine(f,&l); Reseau r; r.nbNoeuds=0; r.LNoeuds=NULL; r.LCommodites=NULL; recree_reseau(&l,&r); printf("Debut\n"); printf("Long totale (avant) : %f\n", longueurTotale(&l)); dijkListeGamma(&l, &r); printf("Long totale (après) : %f\n", longueurTotale(&l)); fclose(f); return 0; }
int main (int argc, char *argv[]) { if(!argv[1]) { fprintf(stderr,"Parametre manquant\n\t1 : Fichier lut .cha\n\t(opt)2 : Fichier de sauvegarde xfig\n\t(opt)3 : Fichier de sauvegarde xfig_dijkstra\n"); return 1; } FILE *f=fopen(argv[1],"r"); if(!f) { fprintf(stderr,"Erreur ouverture fichier"); return 1; } ListeChaine l; lecture_chaine(f,&l); Reseau r; r.nbNoeuds=0; r.LNoeuds=NULL; r.LCommodites=NULL; recree_reseau(&l,&r); double dist[r.nbNoeuds], etats[r.nbNoeuds]; int pere[r.nbNoeuds], arrivee=r.nbNoeuds-1; printf("Debut\n"); dijkstra(0, arrivee, dist, etats, pere, &r); int i; for(i=0;i<r.nbNoeuds;i++) printf("%.2f\t", dist[i]); if(argv[2] && argv[3]) { FILE *fig=fopen(argv[2],"w"), *figdijk=fopen(argv[3],"w"); ecrit_reseau_xfig(&r, fig, 5, 2); ecrit_reseau_xfig(&r, figdijk, 5, 2); dijkstra_xfig(figdijk, &r, 5, 2, arrivee, pere); } printf("\n%.2f\nFini\n", dist[arrivee]); fclose(f); return 0; }
int main (int argc, char *argv[]) { if(!argv[1] || !argv[2]) { fprintf(stderr,"Parametre manquant\n\t1 : Fichier lut .cha\n\t2 : Fichier de sauvegarde .res\n\t3 : Facultatif : emplacement de sauvegarde xfig si voulu\n"); return 1; } FILE *f=fopen(argv[1],"r"), *svr=fopen(argv[2],"w"); if(!f || !svr) { fprintf(stderr,"Erreur ouverture fichier"); return 1; } ListeChaine l; lecture_chaine(f,&l); //afficher_liste(&l); Reseau r; r.nbNoeuds=0; r.LNoeuds=NULL; r.LCommodites=NULL; recree_reseau(&l,&r); //lecture_reseau(&r); ecrit_reseau_disque(&r,svr); if(argv[3]) { FILE *xfig=fopen(argv[3],"w"); ecrit_reseau_xfig(&r,xfig,500,2); fclose(xfig); printf("Fichier rendu : %s\t %s\n", argv[2], argv[3]); } else printf("Fichier rendu : %s\n", argv[2]); printf("Fini\n"); fclose(f); fclose(svr); return 0; }
int main(int argc, char **argv) { FILE *f = NULL; FILE *output = NULL; Reseau *R = NULL; ListeChaine *L = NULL; char *filename = NULL; int i; if (argc < 2) { leverErreur("Usage : ./convertres *.cha"); return 1; } for (i = 1; i < argc; i++) { f = ouvrirFichier(argv[i]); if (f == NULL) { continue; } R = creerReseau(); L = creerListeChaine(); lecture_chaine(f, L); recree_reseau(L, R); filename = basename(argv[i]); fprintf(stderr, "Conversion en réseau du fichier %s...\n", argv[i]); filename = strtok(filename, "."); filename = strcat(filename, ".res"); output = fopen(filename, "w"); if (!output) { leverErreur("Erreur création fichier de sortie"); freeReseau(R); freeListeChaine(L); fermerFichier(f); return 1; } ecrit_reseau_disque(R, output); fermerFichier(output); fermerFichier(f); freeReseau(R); freeListeChaine(L); } return 0; }