Operations matrices
val123
-
Utilisateur anonyme -
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;
}
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;
}