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 0x80070570 ✓ - <a href="https://forums.commentcamarche.net/forum/windows-10-328">Forum Windows 10</a>
- Erreur t32 ✓ - <a href="https://forums.commentcamarche.net/forum/livebox-200">Forum Livebox</a>
- Erreur s3 bbox - <a href="https://forums.commentcamarche.net/forum/bbox-bouygues-285">Forum Bbox Bouygues</a>
- Iptv erreur de lecture - <a href="https://forums.commentcamarche.net/forum/tv-video-21">Forum TV & Vidéo</a>
- Erreur 4101 - <a href="https://forums.commentcamarche.net/forum/carte-graphique-181">Forum Carte graphique</a>