Systeme de cramer suivant gauss - C - Programmation
Marsh Posté le 12-04-2008 à 13:44:56
ReplyMarsh Posté le 12-04-2008 à 19:51:02
pas encore fais les fonctions c'est pour ça que je fais certainement si compliqué...
quelqu'un pourrait il me dire si c'est bon?
merci.
Marsh Posté le 14-04-2008 à 09:58:38
Joel F a écrit : 1/ utilise la balise [ code] |
J'ai comme l'impression qu'il a pas compris tes remarques!
Marsh Posté le 12-04-2008 à 13:07:15
Bonjour j'ai un peu de mal à passer en algorithme de gauss dite moi si ce que j'ai fais est bon?
Pour la matrice A ça semble bon enfin je crois mais pour le second membre je sais pas du tout ce qu'il faut faire...
Merci.
#define N 50
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
main()
{
//déclaration des variables
int n,i,j,k;
float A[N][N],B[N],X[N],C;
printf("\n\t\t !!!!RESOLUTION D'UN SYSTEME CRAMER-GAUSS!!!!\n" );
//nombre d'inconnu
do
{
printf("\n\nQuel est le nombre d'inconnu (0<N<50)? " );
scanf("%d",&n);
}
while((n<=0)||(n>N));
//acquisition de la matrice A
system("cls" );
printf("\n\t\t !!!!RESOLUTION D'UN SYSTEME CRAMER-GAUSS!!!!\n" );
printf("\n\n\tSaisie des coefficients de la matrice A\n" );
printf("\nL'‚l‚ment diagonal doit ˆtre diff‚rent de 0\n\n" );
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
// do
//{
printf("Entrez le coefficient A %d %d: ",i+1,j+1);
scanf("%f",&A[i][j]);
//}
//while(A[i][i]==0);
}
}
printf("\n\nMatrice A:\n\n\t" );
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%5.2f ",A[i][j]);
}
printf("\n\t" );
}
getche();
//acquisition du second membre
system("cls" );
printf("\n\t\t !!!!RESOLUTION D'UN SYSTEME CRAMER-GAUSS!!!!\n" );
printf("\n\n\tSaisie des coefficients du second membre B\n\n" );
printf("\nLe nombre d'‚l‚ments est: %d\n\n",n);
for(i=0;i<n;i++)
{
printf("Entrez le coefficient B %d: ",i+1);
scanf("%f",&B[i]);
}
printf("\n\nSecond membre B:\n\n\t" );
for(i=0;i<n;i++)
{
printf("%5.2f\n\t",B[i]);
}
getche();
//affichage de votre système
system("cls" );
printf("\n\t\t !!!!RESOLUTION D'UN SYSTEME CRAMER-GAUSS!!!!\n" );
printf("\n\nMatrice A:\n\n\t" );
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%5.2f ",A[i][j]);
}
printf("\n\t" );
}
printf("\n\nSecond membre B:\n\n\t" );
for(i=0;i<n;i++)
{
printf("%5.2f\n\t",B[i]);
}
printf("\n\nInconnu X:\n\n\t" );
for(i=0;i<n;i++)
{
printf(" X %d\n\t",i+1);
}
getche();
//algorithme de Gauss
system("cls" );
printf("\n\t\t !!!!RESOLUTION D'UN SYSTEME CRAMER-GAUSS!!!!\n" );
for(i=0;i<n;i++)
{
C=A[i][i];
for(j=0;j<n;j++)
{
A[i][j]=A[i][j]/C;
//B[i]=B[i]/C;
}
for(k=i+1;k<n;k++)
{
for(j=0;j<n;j++)
{
A[k][j]=A[k][j]-A[k][i]*A[i][j];
//B[k]=B[k]-A[k][i]*B[i];
}
}
} printf("\nVoici votre sytŠme selon l'agorithme de Gauss" );
printf("\n\nMatrice A:\n\n\t" );
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%5.2f ",A[i][j]);
}
printf("\n\t" );
}
printf("\n\nSecond membre B:\n\n\t" );
for(i=0;i<n;i++)
{
printf("%5.2f\n\t",B[i]);
}
printf("\n\nInconnu X:\n\n\t" );
for(i=0;i<n;i++)
{
printf(" X %d\n\t",i+1);
}
getche();
}