Bonjour,
Premièrement ne vous inquietez pas je me suis pas trompé de forum ^^
Nous voyons en cours actuellement la récursivité, je me suis donc essayé à l'implémenter en Pascal avec FreePascal. J'ai tenté d'implémenter le tri rapide ou QuickSort mais je trouvais toujours à l'execution ce code-ci : erreur de segmentation
après plusieurs recherches, je ne voyais pas où mon algorithme buggait, j'ai donc tenté d'implémenter une fonction plus simple utilisant la récursivité comme la fonction factorielle. Voici mon code :
Et la on m'affiche erreur de segmentation alors que je compile très bien. Ne comprenant d'ou venait l'erreur j'ai tenté de le coder en C.
Code : 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 program factrecursif; function fact(x:Integer):Integer; begin if (x=1) and (x=0) then fact:=1 else fact:=x*fact(x-1) end; var x:Integer; begin writeln('combien?'); readln(x); writeln(fact(x)) end.
Et la de nouveau pareil erreur de segmentation malgré une compilation encore une fois OK.
Code : 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 #include <stdio.h> #include <stdlib.h> #include <math.h> int fact(int x) { if (x==1 and x==0) return 1; else return x*fact(x-1); } int main() { int x,resultat; printf( "combien?\n"); scanf("%d",&x); resultat=fact(x); printf(" %d ",resultat); }
Je ne comprend pas ou est le problème que ce soit en Pascal et en C dans mon code...
Pour information, j'utilise Ubuntu 9.04 et je suis sous KDE. Je ne sais pas si cela vient peut etre de la...Je suis assez desespéré^^
Merci de m'eclairer
Jerem6464
Partager