Prog c : pivot de gauss (résolution de systèmes d'équations)

Description

Le code prend en compte un système de N équation avec N inconnues.
Le programme permet de résoudre ce système par l'algorithme du pivot de gauss.
Ainsi, il triangule le système dans un premier temps, puis résoud à proprement parler le système..

Source / Exemple :


#include <iostream.h>

int main(){

int n;
double e[11][10];
double s[10];
cout<<"programme du pivot de gauss\nCombien dequations ?\nN= ";
cin>>n;
cout<<"\n";
for (int i=0;i<n;i++){

	cout<<"equation "<<i<<"\n";
	for (int p=0;p<n;p++){
	
	
	cout<<"v"<<p<<" = ";
	cin>>e[p][i];
	
	}

cout<<"\n";

cout<<"equation "<<i<<" = ";
cin>>e[n][i];

cout<<"\n";

}	// on a saisi les facteurs des equations ds e[][]

int y=0;
double var1=0,var2=0;

double temp;

int a,t;

for(int x=0;x<n-1;x++){		
	
for(a=1+x;a<n;a++){

	
	temp=e[x][a];
	
for (t=x;t<n+1;t++){
	
	e[t][a]=e[t][a]*e[x][x]-e[t][x]*temp;  /// triangulation du systeme.
	
	
	}

}
}

//Passons au remplacage et à la résolution proprement dite..
int af;

s[n-1]=e[n][n-1]/e[n-1][n-1];

e[n][n-1]=0;
e[n-1][n-1]=0;

for (int ligne=1;ligne<=n;ligne++){

for (int sol=2;sol<=n;sol++){

e[n-ligne][n-sol]*=s[n-ligne];
e[n][n-sol]-=e[n-ligne][n-sol];
e[n-ligne][n-sol]=0;

}

s[n-(ligne+1)]=e[n][n-(ligne+1)]/e[n-(ligne+1)][n-(ligne+1)];

}

// Resolution..

// Affichage..
for (af=0;af<n;af++){cout<<" var "<<af<<" = "<<s[af];}

cin>>n;

return 0;}

Conclusion :


Attention, le prog ne gère pas encore des coefficients égals à 0.
une version linux dans le fichier zip.

Codes Sources

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.