Operations matrices

Fermé
val123 - 25 juin 2014 à 00:51
 Utilisateur anonyme - 25 juin 2014 à 06:50
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
25 juin 2014 à 06:50
On va commencer simple, sais-tu faire le produit de deux matrices sur le papier ?
Matrice de quelle forme ?
0