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.
Partager