Commentçamarche.net
CodeS-SourceS
Rechercher un code, un tuto, une réponse

Résolution de systeme de 3 équations à 3 inconnues

5/5 (17 avis)

Snippet vu 29 636 fois - Téléchargée 16 fois

Contenu du snippet

Mon premier programme en C, fait en une soirée alors que je ne connaissait pas le langage, soyez indulgnets svp!!!
Ce programme console résoude des systemes de 3 équations à 3 inconnues en utilisant la méthode du pivot de Gauss.
Code extensible a X variables et X inconnues en prolongeant la méthode.
46 Ko une fois optimisé avec Mew.
Donnez moi votre avis svp

Source / Exemple :


#include "iostream.h"
#include "iomanip.h"

using namespace std;

int main()
{
double matrice[3][4]={2,3,6,43,7,6,2,42,9,12,3,69};
double coefficient,x,y,z;
int i;
int j;
i=0;
j=0;

cout << "Resolution d'un systeme de 3 equations a trois inconnues\n";
cout << "Premiere equation, entrez en ordre respectif x,y,z et la constante\n";
cin >> matrice[0][0]>>matrice[0][1]>>matrice[0][2]>>matrice[0][3];
cout << "Seconde equation, entrez en ordre respectif x,y,z et la constante\n";
cin >> matrice[1][0]>>matrice[1][1]>>matrice[1][2]>>matrice[1][3];
cout << "Premiere equation, entrez en ordre respectif x,y,z et la constante\n";
cin >> matrice[2][0]>>matrice[2][1]>>matrice[2][2]>>matrice[2][3];

coefficient=(-1*matrice[1][0]/matrice[0][0]);

i=0;
for(i;i<=3;i++)
{
matrice[1][i]=(coefficient*matrice[0][i])+matrice[1][i];               
}

coefficient=(-1*matrice[2][0]/matrice[0][0]);

i=0;
for(i;i<=3;i++)
{
matrice[2][i]=(coefficient*matrice[0][i])+matrice[2][i];               
}

coefficient=(-1*matrice[2][1]/matrice[1][1]);

i=1;
for(i;i<=3;i++)
{
matrice[2][i]=(coefficient*matrice[1][i])+matrice[2][i];               
}

z=matrice[2][3]/matrice[2][2];
y=(matrice[1][3]-(matrice[1][2]*z))/matrice[1][1];
x=(matrice[0][3]-((matrice[0][1]*y)+(matrice[0][2]*z)))/matrice[0][0];
cout << "X est egal a " << setw(10) << x << "\n";
cout << "Y est egal a " << setw(10) << y << "\n";
cout << "Z est egal a " << setw(10) << z << "\n";

system("PAUSE");
return 0;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.