Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scilab Discussion :

Tri Rapide


Sujet :

Scilab

  1. #1
    Candidat au Club
    Tri Rapide
    Bonjour, j'essaye d'implémenter le tri rapide en scilab mais lorsque je l'exécute je reçoit une erreur 4 disant que y n'est pas définie.
    Je ne comprend pas ce qui ne va pas, pourriez vous m'éclairer ?
    Merci d'avance

    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
    function y = QuickSort(x)
        n = length(x)
        if n == 0 then
            x
        elseif n == 1 then
            x
        else
            k = floor(n*rand() + 1)
            x_k = x(k)
            inf = x(x < x_k)
            eg = x(x == x_k)
            sup = x(x > x_k)
            y = [QuickSort(x(x < x_k));x(x == x_k);QuickSort(x(x > x_k))]
        end
    endfunction

  2. #2
    Candidat au Club
    En fait c'est les conditions d'arrêt qui étaient pas bonnes

  3. #3
    Rédacteur/Modérateur

    Au passage, ceci :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if n == 0 then
        x
    elseif n == 1 then
        x
    else
     
    end


    S'écrit aussi :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if n <= 1 then
        x
    else
     
    end
    Mes compétences :
    • conception mécanique 3D (Autodesk Fusion 360)
    • développement informatique (MATLAB, Python, C, VBA)
    • impression 3D (Ultimaker)
    • programmation de microcontrôleur (Microchip PIC et Arduino)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

###raw>template_hook.ano_emploi###