Voila je viens de débuter en C++ et je cherche a faire une procédure de décomposition ALU...
Mon problème est que ma procédure ne donne que la moitié des résultats qu elle devrait donner (seulement le L et pas le U)
Bon donc j'ai écrit un truc sous le type void qui prend comme variable des matrices (déclarées en fait en tant que float [N][N])) les variables en sont A, L et U...
Au cours de la procédure tous les calculs se passent bien (j'ai rajouté des sorties intermédiaires) et donc la procédure calcule les bons L et U ici on est juste avant la dernière accolade de la procédure ALU...
Seulement lorsque j'utilise la procédure dans un programme, seule la matrice L ressort correctement, U semble perdue et donne une matrice a peu près nulle (avec des coefficient en e-40)....
En gros je ne comprend pas comment U peut passer de la bonne valeur a un truc non initialisé en l'espace d'une accolade, tandis que L se comporte normalement...
voici la structure de la procédure (je ne détails pas la source a priori les calculs se passent bien) :
Et le problème c'est que si dans un programme je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void ALU(float L[N][N], U[N][N], A[N][N]) { calcul de L et U .... affichage de L et U, les deux sont corects }
eh bien L est correcte, tandis que U est nulle...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ALU(L,U,A); afficher( L); afficher(U);
Merci de votre aide.
Partager