Somme de matrice
fabienlele
-
fabienlele -
fabienlele -
Bonjour,
Je cherche à somme des matrices avec le petit programme que j'ai fait ci dessous (le matrice résultante est stockée dans la 1ere matrice). Le problème c'est que quand je lance l'exe c'est la matrice nulle qui apparaît !
Les matrices sont mat1 ={ {1,2,3},{4,5,6},{7,8,9} } et mat2={ {4,5,6},{1,2,3},{7,8,9} }
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define N 3
void somme(double A[N][N],double B[N][N],int m);
void afficher(double A[N][N] ,int m);
int main()
{
int i,j,k,n=3,selection;
double mat1[N][N]; double mat2[N][N];
//On définit mat1//
for (j=0;j<3;j++)
{
for (i=0;i<3;i++)
{
mat1[i][j]=(i+1)+3*j;
}
}
//On définit mat2//
for (i=0;i<3;i++)
{
mat2[i][0]=mat1[i][1];
}
for (i=0;i<3;i++)
{
mat2[i][1]=mat1[i][0];
}
for (i=0;i<3;i++)
{
mat2[i][2]=mat1[i][2];
}
printf("Voici la matrice 1 :\n\n");afficher(mat1,n);printf("Voici la matrice 2 :\n\n");afficher(mat2,n);
somme(mat1,mat2,n);printf("mat1+mat2 = \n");
afficher(mat1,n);
}
void afficher(double A[N][N],int m)
{
int j,k;
for (j=0;j<m;j++)
{
for (k=0;k<m;k++) printf("%d ",A[j][k]);
printf("\n");
}
printf("\n\n");
}
void somme(double A[][N],double B[][N],int m)
{
int i,j;
for (i=0;i<m;i++)
for (j=0;j<m;j++)
A[i][j]+=B[i][j];
}
Je cherche à somme des matrices avec le petit programme que j'ai fait ci dessous (le matrice résultante est stockée dans la 1ere matrice). Le problème c'est que quand je lance l'exe c'est la matrice nulle qui apparaît !
Les matrices sont mat1 ={ {1,2,3},{4,5,6},{7,8,9} } et mat2={ {4,5,6},{1,2,3},{7,8,9} }
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define N 3
void somme(double A[N][N],double B[N][N],int m);
void afficher(double A[N][N] ,int m);
int main()
{
int i,j,k,n=3,selection;
double mat1[N][N]; double mat2[N][N];
//On définit mat1//
for (j=0;j<3;j++)
{
for (i=0;i<3;i++)
{
mat1[i][j]=(i+1)+3*j;
}
}
//On définit mat2//
for (i=0;i<3;i++)
{
mat2[i][0]=mat1[i][1];
}
for (i=0;i<3;i++)
{
mat2[i][1]=mat1[i][0];
}
for (i=0;i<3;i++)
{
mat2[i][2]=mat1[i][2];
}
printf("Voici la matrice 1 :\n\n");afficher(mat1,n);printf("Voici la matrice 2 :\n\n");afficher(mat2,n);
somme(mat1,mat2,n);printf("mat1+mat2 = \n");
afficher(mat1,n);
}
void afficher(double A[N][N],int m)
{
int j,k;
for (j=0;j<m;j++)
{
for (k=0;k<m;k++) printf("%d ",A[j][k]);
printf("\n");
}
printf("\n\n");
}
void somme(double A[][N],double B[][N],int m)
{
int i,j;
for (i=0;i<m;i++)
for (j=0;j<m;j++)
A[i][j]+=B[i][j];
}
Configuration: Windows XP Firefox 2.0.0.20