1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| main(){
FILE *fp;
char s[TAILLE_MAX],s1[TAILLE_MAX],s2[TAILLE_MAX];
char op1=':';
char* test;
char res[50];
int nbMaxSommets,sommet,NSommet,voisin,NArret;
fp=fopen(nomFichier,"rt");
while(fp!=NULL)
{
printf("impossible de lire le fichier %s,ressaye svp:\n",nomFichier);
//printf("Resaisir le nom du fichier pour lire le graphe\n");
scanf("%s", nomFichier);
fp=fopen(nomFichier,"rt");
}
fgets(s,TAILLE_MAX,fp);
fscanf(fp,"%d ",&nbMaxSommets);
creer_graphe(nbMaxSommets,g);
NSommet=0;
NArret=0;
fgets(s1,TAILLE_MAX,fp);
while(!feof(fp))
{
if(fgets(s2,TAILLE_MAX,fp)!=NULL)
{
test=strchr(s2,op1);
strncpy(res,s2,strlen(s2)-strlen(test));
sommet=atoi(res);
insert_in_head(-1,(g->listesAdjacences+sommet-1));
char* token = strtok( test, ",: \n");
while( token != NULL)
{
voisin=atoi(token);
insert_in_head(voisin,(g->listesAdjacences+sommet-1));
NArret++;
token = strtok( NULL, ",-|");
}
NSommet++;
}
}
fclose(fp);
printf("----Le Graphe est bien creer----\n");
} |
Partager