Quick sort : erreur de segmentation
Bonjour,
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 :
Code:
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 à l'éxecution, même problème... erreur de segmentation. Je me demande alors si mon code a un problème ? Si cela vient de Linux ? du compilateur FreePascal ? Bref... Pourquoi je n'arrive pas à exécuter mon programme récursif ?
En vous remerciant par avant et de m'avoir lu.
Cordialement,
Jerem'