Salut à tous,
Voilà mon problème. J'ai deux fichiers: calcul_matrice.h qui contient 3 fonctions effectuant des calculs sur des matrices, et testMatrice.c qui contient le main.
J'ai lu sur ce forum qu'il fallait faire précéder chaque fonction de calcul_matrice.h du mot clé "extern" à priori, puis j'include ce fichier dans le testMatrice.c.
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 // Effectue des calculs sur les matrices #include <stdio.h> extern bool estInversible(int[][] mat, int taille) { if (determinant(mat, taille) != 0) { return true; return false; } extern int determinant(int[][] mat, int taille) { int det = 0; int index; int[taille-1][taille-1] mat2; mat2 = remplir(mat, taille); if (taille > 2) { for (index=0; index < taille; index++) { if (index%2=0) { det = det + mat[0][index] * determinant(mat2, taille-1); } else { det = det - mat[0][index] * determinant(mat2, taille-1); } } return det; } else { return (mat[0][0] * mat[1][1]) - (mat[0][1] * mat[1][0]); } } extern int[][] remplir(int[][] mat, int taille) { int i, j; int[taille-1][taille-1] matARemplir; for (i=0; i < taille-1;; i++) { for (j=0; j < taille-1;; j++) { matARemplir[i][j] = mat[i+1][j+1]; } } return matARemplir; }
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Affiche le déterminant #include <stdio.h> #include <calcul_matrice.h> int main(int argc, char *argv[]) { const taille = 3; int[3][3] mat = {{1, 4, 7}, {2, 5, 8}, {3, 6, 9}}; int det; det = determinant(mat, taille); printf("%d", det); return 0; }
Et à la compilation j'ai l'erreur: calcul_matrice.h: no such file or directory
(les deux fichiers se trouvent sur mon bureau).
Merci de votre aide!
Partager