finesse20
Messages postés13Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 août 2006
-
25 mai 2005 à 14:57
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
26 mai 2005 à 09:12
Bonjour à tous,
lors de la compilation, mon programme s'arrête à la ligne coura->temps_UC=tps
pour être plus précise, la fonction calcul_temps_UC est appelée par une autre fonction. Pour l'appeler, j'entre la ligne
calcul_temps_UC(&a);
Je ne trouve pas la solution à ce problème. Si quelqu'un peut me donner un coup de pouce ce me serait très utile
typedef struct activite* ptr_activite;
typedef struct activite{
int num_process;
char *statut_process;
int temps_UC;
int avant_blocage;
int temps_cumule;
ptr_activite suiv;
}ACTIVITE;
void calcul_temps_UC(ptr_activite a){
int i=0,j=0,tps=0,moyenne=2000,ecart_type=510,nb_process=2;
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 25 mai 2005 à 16:07
ptr_activite coura; => tu déclares un pointeur sur une structure ACTIVITE mais tu ne l'initialise pas.
Lors de son utilisation coura->temps_UC=tps, tu accède à une zone quelconque de la mémoire et boom.
A mon avis il manque au début :
ptr_activite coura = a;
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 25 mai 2005 à 16:53
En tout cas il y a un problème de pointeur non initialisé au départ ou une liste chaînée mal faite. Il faudrait mettre plus de code ou
donner le but du jeu.