Soyez le premier à donner votre avis sur cette source.
Snippet vu 13 999 fois - Téléchargée 31 fois
#include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> #include <stdlib.h> #include <iostream.h> #include <process.h> #include <stdlib.h> void saisie_mat(float m[100][100],int,int); void affich_mat(float m[100][100],int l,int c); void gauss_jordan(float m1[100][100],float m2[100][100],int l,int c); void affich_systeme(float m1[100][100],float m2[100][100],int l,int c); void copie_mat(float m[100][100],float m1[100][100],int l,int c); void identite_mat(float m[100][100],int l); void main() { int a,b; int e,f; float mat[100][100],mat1[100][100]; system ("cls"); system ("color 3f"); printf(" ===> Saisissez votre matrice carree A : \n\n"); printf("Combien de lignes : "); scanf("%d",&a); printf("Combien de colonnes : "); scanf("%d",&b); saisie_mat(mat,a,b); printf("\n\n"); printf(" ===> Saisissez votre matrice B : \n\n"); printf("Combien de lignes : "); scanf("%d",&e); printf("Comien de colonnes : "); scanf("%d",&f); saisie_mat(mat1,e,f); printf("\n\n"); affich_systeme(mat,mat1,a,b); printf("\n\n"); gauss_jordan(mat,mat1,a,b); printf("\n\n"); affich_systeme(mat,mat1,a,b); } void saisie_mat(float m[100][100],int l,int c) { int i,j; for(i=0;i<l;i++) { for(j=0;j<c;j++) { printf(" A[%d][%d] : ",i+1,j+1); scanf("%f",&m[i][j]); } printf("\n"); } } void affich_systeme(float m1[100][100],float m2[100][100],int l, int c) { int i,j; printf(" ===>Affichage du systeme lineaire : \n\n\n"); for(i=0;i<l;i++) { printf(" ("); for(j=0;j<c;j++) { printf(" %.2f ",m1[i][j]); } printf(" ) (X%d) =",i+1); printf("\t%.2f",m2[i][0]); printf("\n\n"); } } void gauss_jordan(float m1[100][100],float m2[100][100],int l,int c) { int i; int j; float tmp,tmp2; float m3[100][100]; float m4[100][100]; float m5[100][100]; float m6[100][100]; int k=0; identite_mat(m4,l); affich_mat(m4,l,l); for(i=0;i<l;i++) { copie_mat(m1,m3,l,c); copie_mat(m2,m5,l,1); copie_mat(m4,m6,l,l); tmp=m1[i][i]; for(j=0;j<c;j++) { m1[i][j]=m1[i][j]/tmp; m2[i][j]=m2[i][j]/tmp; m4[i][j]=m4[i][j]/tmp; } for(k=0;k<l;k++) { if(k!=i) { tmp2=m1[k][i]/tmp; for(j=0;j<c;j++) { m1[k][j]=m1[k][j]-tmp2*m3[i][j]; m4[k][j]=m4[k][j]-tmp2*m4[i][j]; m2[k][j]=m2[k][j]-tmp2*m5[i][j]; } } } affich_systeme(m1,m2,l,c); printf("\n\n\n"); printf(" ===> Matrice Inverse :"); affich_mat(m4,l,c); } } void affich_mat(float m[100][100],int l,int c) { int i,j; printf(" Affichage de la matrice \n\n\n"); for(i=0;i<l;i++) { for(j=0;j<c;j++) { printf("\t%.2f",m[i][j]); } printf("\n\n"); } } void copie_mat(float m[100][100],float m1[100][100],int l,int c) { int i,j; for(i=0;i<l;i++) { for(j=0;j<c;j++) { m1[i][j]=m[i][j]; } } } void identite_mat(float m[100][100],int l) { int i,j; for(i=0;i<l;i++) { for(j=0;j<l;j++) { m[i][j]=0; } m[i][i]=1; } }
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.