je dois parser ce fichier : http://www.iwr.uni-heidelberg.de/groups/co…/swiss42.tsp.gz (juste la matrice, je balance le texte qui se trouve avant) afin de mettre la grosse matrice texte dans un tableau en C. Mais je n’ai aucune idée de comment faire cela ?
Si tu me ponds un exemple je bénis tes enfants sur 20 générations.
En utilisant fscanf et en remarquant qu’il y a deux espace entre chaque entier
Donc une boucle à base de scanf "%d " et c’est fini (aux effets de bord près ).
Si tu veux faire du dynamique (tu es joueur, toi ), je te conseille de compter les espaces de la premiere ligne (tu aurais le nombre de colonnes) puis le nombre de \n (tu auras le nombre de ligne), tu fais un fseek pour revenir au debut et tu reprends mon code grosso modo.
WARNING: J’AI PAS TESTE!!
Sinon, la vrai solution, c’est d’utiliser flex et yacc, ils sont fait pour ca (mais le code est crade - enfin surement moins que le mien )
edit pour clams: NNNNAAAAAANNNN PAS FSCANF, malheureux!! Je dis pas que mon code, c’est mieux, mais fscanf, c’est le pire du pire.
juste une petite remarque de chieur : ta matrice est symétrique et à diagonale nulle… si tu sais que c’est pareil pour toutes les autres matrices, tu pourrais très bien n’enregistrer que la partie de haut (ou du bas, c’est toi qui vois…).Histoire de mémoire, tout ca… enfin des trucs dont on se fout avec nos DD de 500GO.
enfin j’dis ça, j’dis rien, hein…
y’a aussi une solution avec fgets( attention à bien allouer la memoire) et sscanf, c’est ce que j’avait utiliser pour lire un fichier de graphes dans un tp noté, sscanf est tres efficace quand il faut savoir avec precision combien de motif ont été trouvés parmis ceux qu’on cherchait.
HS : Coucou molyss ça faisait longtemps que je t’avais pas vu ici
[quote name=‘Maverick’ date=’ 27 Jun 2005, 17:39’]Bonjour,
je dois parser ce fichier : http://www.iwr.uni-heidelberg.de/groups/co…/swiss42.tsp.gz (juste la matrice, je balance le texte qui se trouve avant) afin de mettre la grosse matrice texte dans un tableau en C. Mais je n’ai aucune idée de comment faire cela ?
Si tu me ponds un exemple je bénis tes enfants sur 20 générations.
[right][post=“372099”]<{POST_SNAPBACK}>[/post][/right][/quote]
[quote name=‘Maverick’ date=’ 28 Jun 2005, 19:29’]Merci je bénis vos enfants sur 6 générations. J’ai dit.
[right][post=“372555”]<{POST_SNAPBACK}>[/post][/right][/quote]