probleme inversion matrice - C - Programmation
Marsh Posté le 28-02-2016 à 16:28:04
Déjà, enlève les déclarations de variables globales au début de ton programme.
Tu y verras plus clair.
Marsh Posté le 28-02-2016 à 19:17:54
Si je les enleve et que je les mets dans le main(),ça ne change rien...
Marsh Posté le 28-02-2016 à 20:15:00
Déjà à la base, alloue des objets que tu peux utiliser comme de vrais tableaux C, an faisant A[i][j], plutôt que tes manips avec A[num(i,j)], ça rendra le code plus clair et évitera des appels en masse à num() quand le compilo peut faire cela pour toi.
Un exemple vite pour te donner des idées sur la manière de procéder.
Code :
|
Comme je dois aller bouffer, j'ai pas le temps de faire un truc 100% clean et commenté. C'est du C99 (pour les boucles for avec variables déclarées dedans).
J'avais commencé à regarder comment coder recherche_pivot, c'est en commentaire.
A+,
Marsh Posté le 28-02-2016 à 21:16:31
Bon, en regardant elimination,
b[num(i,j)]=b[num(i,j)]-r*b[num(k,j)];
vous avez défini comme tant un array d'ints. Comme r est un float, il va y avoir de la troncature lors de la conversion de b[num(i,j)]-r*b[num(k,j)], un float, vers b[num(i,j)].
Est-ce sans danger pour la bonne marche de l'algo? j'en doute.
A+,
Marsh Posté le 28-02-2016 à 14:32:04
Bonjour,
je dois écrire un programme qui calcule l'inverse d'une matrice à partir de la resolution d'un systeme linéaire.
Mon code ne marche pas, je ne sais pas ou est le probleme.
Voici mon code: