Bonjour voici un problème très court mais qui est un peu prise de tête:

Ecrire un algorithme qui prend en entrée 3 entiers et qui les retourne triés par ordre croissant.

Voici la solution que certains ont proposés mais qui me semble fausse:

Entrée : a,b,c : Entier
Sortie : a,b,c : Entier


Début
si a>b alors

echanger(a,b)
finsi

si b>c alors

echanger(b,c)
finsi

si a>b alors

echanger(a,b)
finsi

fin


Voici ce que j'en pense, mais à mon avis il y a trop de possibilités, c'est assez complexe à mettre en oeuvre :


Début
{saisie}
Afficher ("Affichage ordonné de 3 entiers, donner le premier")
Saisir (a)
Afficher ("Donner le deuxième")
Saisir (b)
Afficher ("Donner le troisième entier")
Saisir (c)

Si a=b
comparer a et c
si a=c alors a=b=c
si a<c alors a=b<c
si c<a alors c<a=b

Si a<b
comparer a et c
si a=c alors a=c<b
si a<c
comparer b et c
si b=c alors a<b=c
si b<c alors a<b<c
si c<b alors a<c<b
si c<a alors c<a<b

Si b<a
comparer a et c
si a = c alors b<a = c
si a<c alors b<a<c
si c<a
comparer b et c
si b = c alors b = c < a
si b<c alors b<c<a
si c<b alors c<b<a

Voilà ! ( Désolé pour la longueur ) mais le problème c'est que premièrement je trouve que ma méthode est exhaustive et deuxièmement pour mettre tout ça en algorithme ça va pas être du gâteau

Enfin voilà ce que j'en pense,

Merci pour votre coup de pouce, et Bravo pour le site.