Exercice langage C le produit de deux matrices carrées de même dimension

#include  
main() 
{ 
 /* Déclarations */ 
  int A[50][50];  /* matrice donnée    */ 
  int B[50][50];  /* matrice donnée    */ 
  int C[50][50];  /* matrice résultat  */ 
  int N ;       /* dimension des matrices (les matrices sont carrées)*/ 
  int i,j,k;       /* indices courants  */ 
 /* Saisie des données */ 
  printf("Nombre de lignes et de colonnes  (max.50) : "); 
  scanf("%d", &N ); 
  printf("*** Matrice A ***\n"); 
  for (i=0; i<N; i++) 
      for (j=0; j<N; j++) 
          { 
            printf("Elément[%d][%d] : ",i,j); 
            scanf("%d", &A[i][j]); 
          } 
  printf("*** Matrice B ***\n"); 
  for (i=0; i<N; i++) 
      for (j=0; j<N; j++) 
          { 
            printf("Elément[%d][%d] : ",i,j); 
            scanf("%d", &B[i][j]); 
          } 
 /* Affichage des matrices */ 
  printf("Matrice donnée A :\n"); 
  for (i=0; i<N; i++) 
     { 
       for (j=0; j<N; j++) 
             printf("%7d", A[i][j]); 
       printf("\n"); 
     } 
  printf("Matrice donnée B :\n"); 
  for (i=0; i<N; i++) 
     { 
       for (j=0; j<N; j++) 
             printf("%7d", B[i][j]); 
       printf("\n"); 
     }
 /* Affectation du résultat du produit à C */ 
  for (i=0; i<N; i++) 
      for (j=0; j<N; j++) 
 { 
    C[i][j]  =  0  ; 
  for(k = 0 ; k<N ; k++) 
              C[i][j] += A[i][k]*B[k][j]; 
 } 
  /* Edition du résultat */ 
  printf("Matrice résultat C :\n"); 
  for (i=0; i<N; i++) 
     {        for (j=0; j<N; j++) 
             printf("%7d", C[i][j]); 
       printf("\n"); 
     } 
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *