Gros soucis ! element modifié tout seul alors que je ne veux pas! - C - Programmation
Marsh Posté le 22-05-2010 à 16:46:35
Faut montrer le code, car il n'est pas possible d'en dire plus.
Comment tu alloues la mémoire pour coefficients?
A+,
Marsh Posté le 22-05-2010 à 16:50:15
ok je vais le faire
Marsh Posté le 22-05-2010 à 16:51:21
T'aurais pas confondu degré (n) et nombre de coefficients (n+1) quelque part comme laisse supposer gilou?
Marsh Posté le 22-05-2010 à 17:08:51
Code :
|
quand on arrive a la seconde boucle, le second affichage est différent du premier, alors que vous voyez bien que je n'y touche pas
Marsh Posté le 22-05-2010 à 17:09:59
Et non je ne pense pas avoir confondu, j'ai toujours fait gaffe que le nombre de coefficients est deg+1
Marsh Posté le 22-05-2010 à 17:25:18
et si tu commentes tmp = autre... ?
Marsh Posté le 22-05-2010 à 17:42:32
jai modifié autre_methode en lui faisant prendre le polynome p en argument.
J'ai pu donc afficher p jusqu'à l'erreur, et c'est lorsque je déclare un polynome temporaire (pour diverses opérations) que le 5 a disparu...
Code :
|
voila, cet vraiment juste quand je crée un polynome temporaire qui ne me sert juste pour des opérations internes (comme la successions de produits de polynomes)
Marsh Posté le 22-05-2010 à 18:31:57
Ben oui, c'est ca qu'on veut savoir: comment tu alloues la mémoire.
Bref, c'est ou que tu fais le malloc? qu'on voie la taille allouée par rapport au degré du polynôme.
(Pas pu répondre plus tôt, mon frère a débarqué avec mes 3 nièces)
A+,
Marsh Posté le 22-05-2010 à 18:51:14
Je suis désolée c'est vraiment compliqué d'expliquer ce que je suis en train de faire déjà que j'arrive même pas à me l'expliquer... si je vous envoie le code entier ca va être dur de me comprendre...
J'ai trouvé un algo PLUS SIMPLE qui m'évite de manipuler tous ces polynômes merdiques...(2semaines quand meme) n'empêche que je ne vois toujours pas pourquoi j'ai eu cette erreur mais avec le peu de temps qu'il me reste il vaut mieux que je passe à la suite...
Désolée d'avoir pris de votre temps !
Je vous remercie beaucoup, c'est cool d'avoir un forum aussi actif comme celui ci, j'ai bien peur d'y revenir souvent les prochains jours
Bonne soirée à vous et merci!
Marsh Posté le 22-05-2010 à 16:41:56
Bonjour !
Alors j'ai un gros problème qui m'énerve sérieusement depuis plus d'une semaine!
Je ne sais vraiment pas comment l'expliquer... mais les jours passent et je dois bientôt rendre mon projet donc j'en ai marre de tourner en rond et de rester impuissante sans avancer.
Je vais essayer d'expliquer du mieux que je peux...(en évitant de donner du code entier car je suis en école et je ne suis pas seule a travailler sur ce projet)
J'ai créé des structures Polynome comme suit :
par exemple pour le polynome 5X^3 + 2X^2 + 4X +1 on a
A un moment donné, dans une méthode je crée un pointeur sur polynome :
J'affiche le polynome (avec la methode affiche_polynome(polynome *p)) j'obtiens:
Tout va bien.
Ensuite j'appelle une methode A qui n'utilise SURTOUT PAS le polynome somme que je viens de créer au dessus.
Je reaffiche somme et j'obtiens :
!!!!! je ne comprend rien !!!! dans la methode A je ne touche pas a somme, alors pourquoi le 5 a disparu?
Avez vous une idée de quoi ca peut être dû? comme je manipule pas mal de pointeurs est ce qu'à un moment donné j'accède à l'adresse où été stocké le 5 même si en aucune façon j'ai modifié les éléments de somme?
Est ce que je n'ai pas libéré de mémoire comme il fallait?
Je suis complétement perdue surtout que je ne maitrise pas vraiment bien ce qu'il se passe dans la mémoire...
Je vous remercie d'avance pour votre aide ...