Fonction de Tri en LISP

Résolu
tksteph Messages postés 204 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.

A voir également:

3 réponses

tksteph Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   25
 
???
0
justoo76 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   13
 
Bonjour,

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

(defun plusGrand(elem1 elem2)
(> elem1 elem2))
0
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