Problèmes avec un tableau à 2 dimensions - C - Programmation
Marsh Posté le 10-10-2009 à 22:40:43
ton opinion, elle vaut pas 1cents. Les tableaux ne se perdent pas en route. Je parie plus sur un cell dont la valeur depasse la taille du tableaux.
Ensuite, voila la bonne manière de gérer des tableaux 2D:
http://codepad.org/K2WAwRBP
Marsh Posté le 10-10-2009 à 22:57:45
je sais qu'elle vaut rien mon opinion ^^
Ce que je comprend pas c'est que si je fait afficher ma grille la ligne d'avant tout marche, et la ligne d'après ça bug. Y a aucune raison...
Code :
|
sachant que :
Code :
|
Marsh Posté le 11-10-2009 à 00:04:30
nicodu95 a écrit :
|
Tu cherches à ne rien faire là ? Si oui, il ne faut pas coder de ligne pour ça.
nicodu95 a écrit :
|
Tu devrais mettre des warnings, que se passe-t-il si grill[k][3] vaut 2 ?
De plus tu peux faire plus simple :
Code :
|
Globalement ça semble assez brumeux ton truc, si tu pouvais poster plus de code et expliquer ce que tu cherches à faire, ça serait pas mal.
Marsh Posté le 11-10-2009 à 00:46:50
regexp42 a écrit : |
regexp42 a écrit :
|
Donner plus de code ne servirait à rien, mais bon ^^
Code :
|
Enfait je veut juste savoir pourquoi ma grille s'affiche ligne 7 (ce qui prouve son intégrité) et pourquoi ça seg fault ligne 8. J'arrive pas à le concevoir ^^ Surtout qu'en plus jfait ce genre de test plein plein de fois ailleurs dans le programme, avec exactement la MEME grille, et ça seg fault nul part...
Marsh Posté le 11-10-2009 à 13:04:00
Personne n'a d'idée ?
Marsh Posté le 11-10-2009 à 14:47:34
J'ai trouvé d'où ça venait :
Ma fonction avait comme prototype :
Code :
|
Au lieu de :
Code :
|
Marsh Posté le 10-10-2009 à 21:28:33
Bonjour à tous,
Comme l'indique le titre, j'ai un petit problème avec les tableaux à 2 dimensions. Mon tableau est défini tel quel :
J'ai 3 fonctions qui font des opérations sur ce tableau. Les 2 premières marchent très bien. La troisième renvoie un seg fault Enfait dans aucune des 3 fonctions la structure du tableau est modifié. Des valeurs sont chargés dans ce tableau dans le main() et les fonctions ne modifient que ces valeurs. Ne comprenant pas d'où ça vient, j'ai investigué avec GDB.
J'ai grill qui est à l'adresse 0x7fff41d2b428; grill[cell] (cell=0) à l'adresse 0x7fff41d2b7e0 et grill[cell][0] à l'adresse 0x100000001
Si quelqu'un sait comment ça se fait...
Merci d'avance.
PS : mon opinion personnelle sur tout ça est qu'un bout du tableau est perdu en route. Le seg fault se fait sur un
...