Erreur de segmentation C
LCoileux
-
LCoileux -
LCoileux -
Bonjour à tous.
Débutant en C, je suis en train de faire un petit exercice pour m'entrainer.
Le but est de remplir une liste de containers dans un nombre de silos ayant une hauteur max.
J'ai essayé cet algo:
où liste contient la liste des containers à empiler.
Seulement lorsque je l'execute, j'obtiens une erreur de segmentation, mais je ne vois pas d'où celà peut venir.
Merci d'avance.
Débutant en C, je suis en train de faire un petit exercice pour m'entrainer.
Le but est de remplir une liste de containers dans un nombre de silos ayant une hauteur max.
J'ai essayé cet algo:
void remplir1(LesSilos stockage, int nbSilos, int hMax, GSList *liste){
int nbContainers = g_slist_length(liste); /*nombre de containers*/
int containerEnCours = 1; /*container que l'on recupere*/
int siloEnCours = 1; /*Silo dans lequel on est*/
int hauteurRestante = hMax; /*Hauteur restante du silo*/
int silos = nbSilos; /*Nombre de silos disponibles*/
while(nbContainers > 0){ /*Tant qu'il reste des containers*/
Element *elt = (Element*)g_slist_nth_data(liste, containerEnCours); /*Recuperation du container*/
while(hauteurRestante >= elt->hauteurElement){ /*Tant qu'il reste de la place*/
elt = (Element*)g_slist_nth_data(liste, containerEnCours); /*On recupere le container*/
empiler(stockage[siloEnCours], elt); /*On empile*/
nbContainers--; /*On diminue la taille du container*/
containerEnCours++; /*On recupere le container suivant*/
hauteurRestante = hauteurRestante - elt->hauteurElement; /*On diminue la taille restante*/
}
siloEnCours++; /*On passe au silo d'apres*/
silos--; /*On retire le silo*/
hauteurRestante = hMax; /*Il reste toute la place*/
}
}
où liste contient la liste des containers à empiler.
Seulement lorsque je l'execute, j'obtiens une erreur de segmentation, mais je ne vois pas d'où celà peut venir.
Merci d'avance.
A voir également:
- Erreur de segmentation C
- Erreur 0x80070643 - Accueil - Windows
- Erreur de lecture reconnecté en 3s - Forum TV & Vidéo
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux