Resolution d'un syst equations lineaires en C
Fermé
tonguim
-
18 juin 2004 à 12:35
souf46 Messages postés 1 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 6 février 2008 - 6 févr. 2008 à 19:14
souf46 Messages postés 1 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 6 février 2008 - 6 févr. 2008 à 19:14
A voir également:
- Resolution d'un syst equations lineaires en C
- Résolution native ✓ - Forum TV & Vidéo
- Iu syst - Forum Téléphones & tablettes Android
- Impossible de charger l'image haute résolution messenger ✓ - Forum Mail
- Résolution de signal actif - Forum Carte graphique
- Cette resolution n'est pas prise en charge par cette tv modifiez la ✓ - Forum Format et connectique vidéo
5 réponses
Il y'a une erreur à ce niveau effectivement: je l'ai corrigé.
Mais le problème ne vient pas de là, car je n'ai toujours pas le resultat attendu.
Merci Bzozo
#include <stdio.h>
#include <conio.h>
/* Programme qui resoud un systeme d'equations lineaires */*
main ()
{
//clrscr ();
float A11, A12, A21, A22, B1, B2, X1, X2, deltaX1 = 0, deltaX2 = 0, delta = 1;
printf("Resolution d'un syteme d'equations lineaires de la forme\n\n");
printf("|A11 X1 + A12 X2 = B1\n");
printf("|\n");
printf("|A21 X1 + A22 X2 = B2\n\n");
/* saisie des coefficients */
printf("Entrez les coefficients A11, A12, A21, A22, B1, B2 tel que: \n\n");
printf("A11 = "); scanf("%d", &A11);
printf("A12 = "); scanf("%d", &A12);
printf("B1 = "); scanf("%d", &B1);
printf("A21 = "); scanf("%d", &A21);
printf("A22 = "); scanf("%d", &A22);
printf("B2 = "); scanf("%d", &B2);
/* calcul des discriminants */
delta = (A11 * A22 - A21 * A12);
deltaX1 = (B1 * A22 - B2 * A12);
deltaX2 = (B2 * A11 - B1 * A21);
X1 = deltaX1/delta;
X2 = deltaX2/delta;
/* affichage du couple solution */
printf("\n\nL'ensemble des solutions de ce systeme d'equations est: \n\n{%f; %f}",X1, X2);
}
Mais le problème ne vient pas de là, car je n'ai toujours pas le resultat attendu.
Merci Bzozo
#include <stdio.h>
#include <conio.h>
/* Programme qui resoud un systeme d'equations lineaires */*
main ()
{
//clrscr ();
float A11, A12, A21, A22, B1, B2, X1, X2, deltaX1 = 0, deltaX2 = 0, delta = 1;
printf("Resolution d'un syteme d'equations lineaires de la forme\n\n");
printf("|A11 X1 + A12 X2 = B1\n");
printf("|\n");
printf("|A21 X1 + A22 X2 = B2\n\n");
/* saisie des coefficients */
printf("Entrez les coefficients A11, A12, A21, A22, B1, B2 tel que: \n\n");
printf("A11 = "); scanf("%d", &A11);
printf("A12 = "); scanf("%d", &A12);
printf("B1 = "); scanf("%d", &B1);
printf("A21 = "); scanf("%d", &A21);
printf("A22 = "); scanf("%d", &A22);
printf("B2 = "); scanf("%d", &B2);
/* calcul des discriminants */
delta = (A11 * A22 - A21 * A12);
deltaX1 = (B1 * A22 - B2 * A12);
deltaX2 = (B2 * A11 - B1 * A21);
X1 = deltaX1/delta;
X2 = deltaX2/delta;
/* affichage du couple solution */
printf("\n\nL'ensemble des solutions de ce systeme d'equations est: \n\n{%f; %f}",X1, X2);
}
/* calcul des discriminants */
delta = (A11 * A22 - A21 * A22); // <<< Ici
deltaX1 = (B1 * A22 - B2 * A12);
deltaX2 = (B2 * A11 - B1 * A21);
J'ai pas étudié le problème (enfin si, mais y'a longtemps et j'ai la flemme), mais il me semble que ce doit être plutôt :
A11 * A22 - A21 * A12
non ?
Et avec ça tu ne résout que les systèmes d'équations qui admettent une seule solution :-\
A+
Bzozo
delta = (A11 * A22 - A21 * A22); // <<< Ici
deltaX1 = (B1 * A22 - B2 * A12);
deltaX2 = (B2 * A11 - B1 * A21);
J'ai pas étudié le problème (enfin si, mais y'a longtemps et j'ai la flemme), mais il me semble que ce doit être plutôt :
A11 * A22 - A21 * A12
non ?
Et avec ça tu ne résout que les systèmes d'équations qui admettent une seule solution :-\
A+
Bzozo
Canard007
Messages postés
5929
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
215
18 juin 2004 à 15:24
18 juin 2004 à 15:24
Salut;
tu fait une daclaration:
float A11;
et apres dans ton scanf tu fait:
scanf("%d", &A11);
%d c est pour les int....
remplace par %f sur tout tes scanf et ca va marcher
tu fait une daclaration:
float A11;
et apres dans ton scanf tu fait:
scanf("%d", &A11);
%d c est pour les int....
remplace par %f sur tout tes scanf et ca va marcher
Merci a tous.
Mon programme marche maintenant!
Il ne me donnait pas les résultats attendus car j'avais mis %d dans l'instruction de saisie scanf pour saisir des float !!! j'aurai dû mettre plutôt %f.
Mon programme marche maintenant!
Il ne me donnait pas les résultats attendus car j'avais mis %d dans l'instruction de saisie scanf pour saisir des float !!! j'aurai dû mettre plutôt %f.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
souf46
Messages postés
1
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
6 février 2008
6 févr. 2008 à 19:14
6 févr. 2008 à 19:14
salut tt le monde j un programme en c ki permet de resoudre les systemes lineaires mai j trouvé des ereurs et j v1 po de les coriger kelk1 peut m aider
18 juin 2004 à 15:04
1) n'utilses QUE des double et JAMAIS les float (ils sont buggués)
2) ne mélange pas %d et %f pour les float
3) n'utilises QUE %lf avec les double
4) bonne chance avec ça ça va marcher !
18 juin 2004 à 15:35
que veut dire que les float sont buggés ?
Est-ce la mele chose pour le C++ ?
merci
pom