Bonjour,

Suite à un problème posé en classe, je me retrouve avec un énoncé me demandant :
"Ecrivez un programme lisant n nombre réel correspondant à des poids d’animaux, Déterminer le plus lourd et le plus légé."

Mais je me retrouve face a un problème, j'ai donc écris un programme qui retrouve sans aucun soucis la plus grande valeur mais lorsqu'il sagit de me retourné la plus petite, il me retourne tout le temps 0 et je ne comprend pas pourquoi :/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
int i,n;
    double x,y,Max,Min;
 
    cout << "Combien de poids ? ";
    cin >> n;
    Max=0;
    Min=0;
    for (i=0;i<n;i++)
    {
        cout << "Poids : ";
        cin >> x;
        if (x>Max)
        {
            Max=x;
            y=x;
        }
        else
        if (x<y && x<Min)
        {
            Min=x;
            y=x;
        }
    }
    cout << Min << " || " << Max;
Je sais que mon Min=0 fait que tout les nombre réel positif que je rentre vont être supérieur à 0 ducoup il retournera toujours 0 mais je ne comprend pas comment faire pour dire SI il n'est pas un Max mais qu'il est plus petit que Min la variable Min vaut tel nombre

Je ne demande pas une réponse toute faites, juste si quelqu'un sait pourquoi il retourne toujours 0

Merci beaucoup,

Bonne journée.