Programmation c

Bonjour,

mon programme consiste a afficher dans l'ordre croisant tois entiers qui sont saisie au clavier

je suppose que je dois calculer le max et le min
ma solution est:

#include<stdio.h>
#include<conio.h>
main()
{
int a,b,c,min,max;
printf("donner trois variable");
scanf("%d%d%d",&a,&b,&c);
if(a>b&&b>c)
max=a;
if(b>c&&c>a)
max=b;
if(c>b&&b>a)
max=c;
if(a<b&&b<c)
min=a;
if(b<a&&a<c)
min=b;
if(c<b&&b<a)
min=c;
printf("l ordre croissant de %d %d %d est %d %d %\n",a,b,c,min,min+1,max);
getch();
}

si les valeurs entrés sont (4 6 3) le resultat doit etre (3 4 6)
le resultat est incorrecte pour ce programme

est ce quelqu'un pourra m'aider

merci d'avance
Configuration: Windows XP Internet Explorer 6.0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. C'est quoi le min+1 ?
    L'algorithme est pourtant simple:
    - Si A > B échanger A et B,
    - Si B > C échanger B et C et si A > B échanger A et B.
    Quelques lignes suffisent.
    Bonne réflexion.
    1. moi j'aurai utiliser fonction récursive ca cera plus simple et efficace
      1. J'aimerai connaître l'algoritme de ta fonction récursive.
        Je n'arrive pas à l'imaginer si simple que cela.
        Merci pour ta réponse.
    2. comment l'utiliser
      1. salut, dis moi stpl mb42, ou t'a aprris à programmer?
    3. désolé pour le retard
      pour appliquer ma fonction récursive tu dois mettre ces entiers ds un tableau
      et comme ca tu peux faire le max et le min de plusieurs entiers ,mais si tu veux seulement que le max ,min de 3
      entiers c suffisant que tu viens d'ecrire aprés correction biensure comme il t'a répondu loupius.
      1. salut , je te conseil d'essayer ce l'algo de loupius c'est beaucoup plus simple
        tu mets tes entiers dans un tableau de int pour te faciliter la tache et ensuite
        tu l'utilise dans 2 boucle imbriqué et ca marchera