Soucis de compilation sous Linux
bonjour , voilà j'ai un gros problème :sous linux j'ai de gros bug pour compiler ce code tandis que sous windows aucune erreure à la compilation, pouvez vous me dire si vous aussi vous avez des erreures quand vous compiler sous linux ???:cry:
Main.c :
Code:
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 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
//liste chainée qui rassemble les villes connexes d'une ville
typedef struct ville
{
int city; //numéro de la ville
float dist; //distance entre cette ville et la précédente
struct ville *suiv; //maillon suivant
}S_Ville;
S_Ville ** Charge_Graph(S_Ville ** Graph, char*** Nom_ville, int *Nb_ville_graph)
{
//déclaration des variables
int Nb_suc = 0;
FILE* Fichier;
S_Ville * tmp = NULL;
int i, j;
//ouvre le fichier
Fichier = fopen("./graphe.txt", "r");
assert(Fichier && "Fichier introuvable");
//récupère le nombre de villes du graphe
fscanf(Fichier, "%d", Nb_ville_graph);
printf("il y a %d villes.\n",(*Nb_ville_graph));
//alloue la mémoire
Graph = (S_Ville**)malloc(sizeof(S_Ville*));
(*Nom_ville) = (char**)malloc(sizeof(char*));
//parcoure chaque ville du graphe
for(i=0; i<(*Nb_ville_graph); i++)
{
//alloue et initialise la liste de successeurs
Graph[i] = (S_Ville*)malloc(sizeof(S_Ville));
Graph[i] = NULL;
}
fclose(Fichier);
return Graph;
}
//============================================================================//
// Fonction principale du programme //
//============================================================================//
int main(void)
{
//déclaration des variables
FILE* Fichier = NULL; //Fichier
S_Ville** Graph; //graphe
int Nb_ville_graph = 0; //nombre de villes du graphe
int i = 0; //boucle
char** Nom_ville;
Charge_Graph(Graph, &Nom_ville, &Nb_ville_graph);
return 0;
} |
graphe.txt :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
14
1 5 1 3 10 2 8 5 7 4 2 7
b 4 4 5 2 5 0 3 12 4
c 4 3 1 1 5 0 7 7 8
d 3 6 4 4 5 2 1
e 3 3 5 5 6 1 5
f 1 4 6
g 1 3 4
h 3 2 8 8 7 0 4
i 3 7 8 10 6 0 5
j 1 10 3
k 5 0 2 8 6 9 3 11 6 12 5
l 2 12 6 10 6
m 3 1 4 10 5 11 6
n 3 1 4 10 5 11 6 |
pleaze , Merci
ps : je sais que dans le code , il manque des choses au niveau des libérations de mémoire ...