importer bibliothèque dans programme principal
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:
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:
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!