Exercice langage C: Le produit de deux matrices carrées de même dimension
Rédigé par GC Team, Publié le 21 Février 2012, Mise à jour le Lundi, 07 Novembre 2022 20:03![](/images/thumb/45/default.png)
Travail à Faire:
Ecrire un programme qui réalise Le produit de deux matrices carrées de même dimension.
Rappel :
| a | b | * | a’ | b’ | = | a *a’ + b*c’ | a*b’ + b*d’ |
| c | d | | c’ | d’ | | c*a’ + d*c‘ | c*b’ + d*d’ |
#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
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");
}
}