March 13, 200521 yr Je suis franchement débutant en C, donc tapez pas trop fort s'il vous plait Je suis en train de faire un programme dans lequel j'utilise la racine carré (pour une résolution de fonction trinome) le code pour le moment c'est : #include <stdio.h> #include <math.h> main() { double a, b, c, x1, x2, delta, racdelta; scanf("%le", &a); scanf("%le", &b); scanf("%le", &c); delta = b*b-4*a*c; racdelta = sqrt(delta); printf("%f", racdelta); return 0; } seulement à la compilation j'ai : tintaspi@pc1:~/prog $ gcc delta.c -o delta /tmp/ccSTeARZ.o(.text+0x69): In function `main': : undefined reference to `sqrt' collect2: ld a retourné 1 code d'état d'exécution donc j'ai un problème dans la fonction sqrt(), mais lequel ?
March 13, 200521 yr Je vais étudier le language C l'année prochaine. En ce moment j'étudis les algorithmes. Je sais pas si je dis des conneries, mais dans le programme qu'on utilise pour apprendre à faire des algos, on doit poser des préconditions. si c'est le cas pour le language C aussi, peut être faut poser delta >= 0 . ou sinon faire des possibilités avec des "if" et des "else" voilà pour ma p'tite contribution, je sais pas si elle sera utile Edited March 13, 200521 yr by shark_atlantis
March 13, 200521 yr vérifie dans ton le fichier math.h du repertoire include que tu as bien une fonction sqrt, elle doit etre présente mais bizarement on dirait que ton compilateur ne la reconnait pas.
March 21, 200521 yr Tiens Tristan qui fait un tour parmis nous Effectivement, c'est -lm qui permet de linker la bibliothèque math.h
Archived
This topic is now archived and is closed to further replies.