#include <stdio.h>
#include <stdlib.h>
int n,m,a,b,i,j,z,k;
void affichage()
{
printf("vous allez faire une addition de deux matrices qui ont le meme format\n\n");
printf("entrez le nombre de ligne de la matrice m1 \t");
scanf("%d",&n);
printf("\n");
printf("entrez le nombre de colonne de la matrice m1 \t");
scanf("%d",&m);
printf("\n");
printf("entrez le nombre de ligne de la matrice m2 \t");
scanf("%d",&a);
printf("\n");
printf("entrez le nombre de colonne de la matrice m2 \t");
scanf("%d",&b);
printf("\n");
}
void addition()
{
// on vérifie si les deux matrices ont le même format //
if ((n==a)&&(m==b))
{
printf("les deux matrices ont le meme format\n\n");
printf("entrez les elements de la cette matrice m1 \n\n");
int m1[n][m];
int m2[a][b];
int m3[n][m];
//entrez les valeurs de m1
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&m1[i][j]);
}
}
//affichage de m1
printf("voici m1:\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("\t|%d|",m1[i][j]);
}
printf("\t\n");
}
printf("\n\n");
//entrez les valeurs de m2
printf("entrez les elements de la cette matrice m2 \n\n");
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
scanf("%d",&m2[i][j]);
}
}
//affichage de m2
printf("voici m2:\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("\t|%d|",m2[i][j]);
}
printf("\t\n");
}
//affichage de m2+m1
printf("\n");
printf("le resultat de l'addition m1+m2 \n\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
m3[i][j]= m1[i][j]+ m2[i][j];
printf("\t|%d|",m3[i][j]);
}
printf("\n");
}
}
else
{
printf("vous pouvez pas faire l'addition car les deux matrices n'ont pas le meme format \n\n");
}
}
void soustraction()
{
// on vérifie si les deux matrices ont le même format //
if ((n==a)&&(m==b))
{
printf("les deux matrices ont le meme format\n\n");
printf("entrez les elements de la cette matrice m1 \n\n");
int m1[n][m];
int m2[a][b];
int m3[n][m];
//entrez les valeurs de m1
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&m1[i][j]);
}
}
//affichage de m1
printf("voici m1:\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("\t|%d|",m1[i][j]);
}
printf("\t\n");
}
printf("\n\n");
//entrez les valeurs de m2
printf("entrez les elements de la cette matrice m2 \n\n");
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
scanf("%d",&m2[i][j]);
}
}
//affichage de m2
printf("voici m2:\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("\t|%d|",m2[i][j]);
}
printf("\t\n");
}
//affichage de m2+m1
printf("\n");
printf("le resultat de la soustraction m1-m2 \n\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
m3[i][j]= m1[i][j]- m2[i][j];
printf("\t|%d|",m3[i][j]);
}
printf("\n");
}
}
else
{
printf("vous pouvez pas faire la soustraction car les deux matrices n'ont pas le meme format \n\n");
}
{
}
}
void multiplication()
{
// on vérifie si les deux matrices ont le même format //
if (m==a)
{
printf("les deux matrices ont le meme format\n\n");
printf("entrez les elements de la cette matrice m1 \n\n");
int m1[n][m];
int m2[a][b];
int m3[m][b];
//entrez les valeurs de m1
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&m1[i][j]);
}
}
//affichage de m1
printf("voici m1:\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("\t|%d|",m1[i][j]);
}
printf("\t\n");
}
printf("\n\n");
//entrez les valeurs de m2
printf("entrez les elements de la cette matrice m2 \n\n");
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
scanf("%d",&m2[i][j]);
}
}
//affichage de m2
printf("voici m2:\n\n");
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
printf("\t|%d|",m2[i][j]);
}
printf("\t\n");
}
//calcul de m2*m1
printf("\n");
printf("le resultat de la multiplication m1*m2 \n\n");
z=0;
for(i=0;i<n;i++)//n c'est nombre de ligne de m3
{
for(j=0;j<b;j++)//b c'esr nombre de colonne de m3
{
for(k=0;k<m;k++)//m c'est le nombre de colonne de m1
{
z=(m1[i][k]*m2[k][j])+z;
}
m3[i][j]=z;
z=0;
}
}
//affichage de m2*m1
for(i=0;i<n;i++)
{
for(j=0;j<b;j++)
{
printf("\t|%d|",m3[i][j]);
}
printf("\n");
}
}
else
{
printf("la multiplication est impossible car le nbre de colonne de m1 <> nbre de ligne m2 \n\n");
}
}
int main()
{
int menu;
printf("\t**************************************** ********\n");
printf("\t* *\n") ;
printf("\t* voici votre menu *\n");
printf("\t* *\n") ;
printf("\t**************************************** ********\n");
printf("\n\n");
printf("\t1: tapez 1 pour faire l'addition de deux matrice \n\n");
printf("\t2: tapez 2 pour faire la soustraction de deux matrice \n\n");
printf("\t3: tapez 3 pour faire la multiplication de deux matrice \n\n");
scanf("%d",&menu);
printf("\n\n");
switch (menu)
{
case 1:
{
affichage();
addition();
break;
}
case 2:
{
affichage();
soustraction();
break;
}
case 3:
{
affichage();
multiplication();
break;
}
}
system("PAUSE");
return 0;
}