#include #include using namespace std; //on ne peut pas changer la taille de la matrice pendant l'execution, //donc on assume une taille maximale de N * N const int N = 100; void prodMat(double mat1[][N], double mat2[][N], double matR[][N], int n); void diffMat(double mat1[][N], double mat2[][N], double matR[][N], int n); void addMat(double mat1[][N], double mat2[][N], double matR[][N], int n); void imprimeMat(double mat[][N], int n); int main() { double mat1[N][N] = {0.}; double mat2[N][N] = {0.}; double matR[N][N] = {0.}; int n; cout << "Entrez la taille de la matrice (max. 100) ?"; cin >> n; cout << "Entrez les " << n*n << " elements de la matrice :" << endl; for (int i=0; i> mat1[i][j]; cout << "et de la deuxieme matrice :" << endl; for (int i=0; i> mat2[i][j]; int opera; do { cout << "Choisissez une operation :" << endl; cout << "1: addition, 2: soustraction:, 3: multiplication !"; cin >> opera; if(opera>3 || opera<1) cout << "Vous n'avez pas choisi une option valide !" << endl; } while(opera>3 || opera<1); switch(opera) { case 1: addMat(mat1,mat2,matR,n); break; case 2: diffMat(mat1,mat2,matR,n); break; case 3: prodMat(mat1,mat2,matR,n); break; } cout << "La premiere matrice" << endl; imprimeMat(mat1,n); cout << "La deuxieme matrice" << endl; imprimeMat(mat2,n); cout << "et le resultat de la"; switch(opera) { case 1: cout << " addition." << endl; break; case 2: cout << " soustraction." << endl; break; case 3: cout << " multiplication." << endl; break; } imprimeMat(matR,n); return 0; } void prodMat(double mat1[][N], double mat2[][N], double matR[][N], int n) { for (int i=0; i