#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");
}
}