Operations matrices

val123 -  
 Utilisateur anonyme -
Bonjour,

Je dois réaliser un programme qui fait la somme et le produit de deux matrices,mais je bloque au niveau du produit car ça ne m'affiche pas le bon resultat.Voici mon code source:
#include <stdio.h>
#include <stdlib.h>
#define max_lig 200
#define max_col 300

int main()
{ float mat[max_lig][max_col],mat2[max_lig][max_col],matsomme[max_lig][max_col],s=0;
float matprod [max_lig][max_col];
int i,j,nb_lig,nb_col,z;
printf("Donner le nombre de lignes:\n");
scanf("%d",&nb_lig);
printf("Donner le nombre de colonnes :\n");
scanf("%d",&nb_col);


printf("Saisie des elements de la premiere matrice:\n");
for (i=0;i<nb_lig;i++)
{
for (j=0;j<nb_col;j++)
{
printf("Saisir mat[%d,%d]\n",i+1,j+1);
scanf("%f",&mat[i][j]);

}
}
printf("Saisie des elements de la deuxieme matrice:\n");
for (i=0;i<nb_lig;i++)
{
for (j=0;j<nb_col;j++)
{
printf("Saisir mat2[%d, %d]\n",i+1,j+1);
scanf("%f",&mat2[i][j]);
}
}
for (i=0;i<nb_lig;i++)
{
for (j=0;j<nb_col;j++)
{
matsomme[i][j]=mat[i][j]+mat2[i][j];
}
}

for (i=0;i<nb_lig;i++)
{
for (j=0;j<nb_col;j++)
{

matprod[i][j]=0;
for (z=0;z<nb_col;z++)
{

matprod[i][j]=matprod[i][j]+mat[i][z]*mat2[z][j];
}


}
}

printf("La somme est:\n");
for (i=0;i<nb_lig;i++)
{
for(j=0;j<nb_col;j++)
{ printf("%.2f\t",matsomme[i][j]);


}
printf("\n");
}
printf("Le produit est:\n");
for (i=0;i<nb_lig;i++)
{
for(j=0;j<nb_col;j++)
{ printf("%.2f\t",matprod[i][j]);

}
printf("\n");
}



return 0;
}

1 réponse

Utilisateur anonyme
 
On va commencer simple, sais-tu faire le produit de deux matrices sur le papier ?
Matrice de quelle forme ?
0