//calcul du determinant d'une matrice N * N #include #include using namespace std; //taille maximale de la mtarice defini commme variable globale //on reserve de l'espace memoire suffisant pour una matrice 100 * 100 const int N = 100; void imprimeMat(double mat[][N], int n); double detMat(double mat[][N], int n); int main() { int dim; cout << "Quelle est la taille de votre matrice (max. 100) ? "; cin >> dim; double matrice[N][N]; cout << "Entrez les " << dim*dim << " elements de la matrice :" << endl; for (int i=0; i> matrice[i][j]; cout << "Le determinant de la matrice " << endl; //appel de la fonction qui affiche la matrice de maniere lisible imprimeMat(matrice,dim); cout << "est : "; //calcul du determinant double det = detMat(matrice,dim); cout << det << endl; return 0; } //calcule du determinant par recursivite double detMat(double mat[][N], int n) { double det = 0.; double k = 1.; if (n==1) //n==1 il n'y a pas de sousmatrice det = mat[0][0]; else for (int j=0; j=j) auxM[ai][aj] += mat[ai+1][aj+1]; } } //on prenne la premiere ligne de la matrice //pour chaque element on demande le determinant de la suosmatrice det = det + k*mat[0][j] * detMat(auxM,n-1); k *= -1.; // k=(-1)^j } return det; } void imprimeMat(double mat[][N], int n) { cout << setw(5) << "/" << setw(n*10+5) << "\\" << endl; for (int i=0; i