Systeme de cramer suivant gauss

Systeme de cramer suivant gauss - C - Programmation

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();
}
 
 
 

Reply

Marsh Posté le 12-04-2008 à 13:07:15   

Reply

Marsh Posté le 12-04-2008 à 13:44:56    

1/ utilise la balise [ code]
2/ faire des fonctions c'est bon pour ton teint

Reply

Marsh 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.

Reply

Marsh Posté le 14-04-2008 à 09:58:38    

Joel F a écrit :

1/ utilise la balise [ code]
2/ faire des fonctions c'est bon pour ton teint


 
J'ai comme l'impression qu'il a pas compris tes remarques! :cry:

Reply

Marsh Posté le 14-04-2008 à 19:13:38    

ba t'as qu'à expliquer...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed