Fonction de Tri en LISP

Résolu
tksteph Messages postés 208 Date d'inscription   Statut Membre Dernière intervention   -  
 6ril -
Salut à tous!
Svp j'aimerais que qu'elqu'un m'aide avec un programme (fonction non predefinie) en langage LISP qui permet de ranger 3 entiers qu'il reçoit en entree par ordre croissant

Mer6 à ts.

3 réponses

  1. tksteph Messages postés 208 Date d'inscription   Statut Membre Dernière intervention   25
     
    ???
    0
  2. justoo76 Messages postés 203 Statut Membre 13
     
    Bonjour,

    Tu peux déja utiliser cette fonction qui compare deux éléments entre eux :

    (defun plusGrand(elem1 elem2)
    (> elem1 elem2))
    0
  3. 6ril
     
    si t'es toujours sûr qu'il y aura 3 valeurs en entrée alors tu peux utiliser les fonction min(val1, val2, val3) et max(val1, val2, val3)

    puis avec une formule comme celle-ci
    (<= 0 x 9) ;true if x is between 0 and 9, inclusive
    (< 0.0 x 1.0) ;true if x is between 0.0 and 1.0, exclusive

    en remplaçant par min et max pour les bornes

    Si tu peux avoir un nombre de valeur fluctuant alors tu insères le 1er nombre dans une liste, tu compares le 2ème nombre avec le 1er: si > alors tu l'ajoutes à la fin (simple fonction append()), si < alors tu l'insères à l'index de la 1ère valeur et tu répète les étapes de comparaison et d'insertion jusqu'à ce que tu ais fini
    Tu obtiens ainsi une une liste dont le nombre sont ordonnés
    0