Max et min

FIDEL002 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
      int i,som=0,x,min=0,max=x;
      float moy;
    for(i=1;i<=5;i++)
    {
     
    printf("donner le %d entier\n",i);
    scanf("%d",&x);
    som+=x;
        
           
}
      moy=som/5;
                                 printf("la somme est %d et la moyenne est %.2f\n",som,moy);
                                 
                                 
      
                if(x<max)
               {
                        max=x;
                        }
                        if(x>min)
                        {
                                 min=x;
                                 }
                                 
                                 getch();
}


salut à tous
voila le programme mais max et min des valeur entrer ne s'affiche pas
svp quelque peux m'aider

EDIT: Ajout de la coloration syntaxique.
A voir également:

5 réponses

Utilisateur anonyme
 
Bonjour,

Tu ne fais nulle part le printf de la valeur max. De plus tu as inversé le min et le max.

Après ta boucle, tu peux faire un printf("Le minimum est %d et le maximum est %d\n", min, max);

De même pour la moyenne mieux vaut aussi l'afficher à la fin.
0
FIDEL002 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour
merci bcp vais essayer et j tiens au cournat
0
FIDEL002 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
ça marche
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Tu mets ton code C dans la rubrique C++... Tu fais un programme C (mauvaise catégorie) ou C++ (tout ton code est à revoir) ?

Sinon, si c'est du C, pleins de choses sont à revoir :

#include<conio.h>
Non standard.

main()
Le bon prototype du main() sans argument est : int main(void)

max=x;
x n'est pas initialisé. Donc max contient une valeur bidon...
Note : c'est mieux de faire une déclaration par type et par même fonctionnalité (donc int min, max; et à la ligne, int som; et à la ligne, int i=0;).

float moy;
C'est mieux d'utiliser des double (sauf cas particulier).

moy=som/5;
som est un entier, et 5 aussi. Donc som/5 donnera un entier qui sera promu en float. Pour avoir un vrai arrondi, il faudrait plutôt faire : moy=(float) som/5; (ou (double) si tu utilises un double).

if(x<max)
{
max=x;
}
if(x>min)
{
min=x;
}

Tu inverses max et min...
De plus, tu ne fais le if qu'à la fin... Il faut que cette comparaison se fasse pour chacun des scanf(). Donc, il faut mettre cette instruction dans le for(). (Tu peux même utiliser une fonction).

Ensuite, tu as oublié printf() pour afficher le min et le max.

getch();
Non standard. Utilise plutôt getchar(); (dans ce cas, mettre un autre getchar() après ton scanf()); ou system("pause");

Et pour finir, n'oublie pas le return 0;

Cdlt,

Google is your friend
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FIDEL002 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
bsr
je ne sais pas tros mais le logiciel que j'utilise est DEV C ++
je pense que c'est du c++
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Dev C++ permet de faire du C et du C++.
Si, tu penses que c'est du C++. Il faut revoir tout ton code... Par exemple, ce n'est pas printf("coucou") mais plutôt std::cout << "coucou"; Autre exemple, ce n'est pas scanf("%d", &var); mais plutôt std::cin >> var; Bref c'est un autre langage. Donc, si tu connais pas, je te conseille de voir un tuto. Si c'est du C, il suffit de prendre en compte les remarques de mon ancien post.
Sinon, pour info, Dev C++ est obsolète. Utilise plutôt un IDE à jour comme Code::Blocks.
0
FIDEL002 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
mreci donc c'est du c
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut fiddy,

Sinon, pour info, Dev C++ est obsolète

La version originale éditée par Bloodshed Software n'est plus maintenue depuis 2005.

Cependant, le développement a été repris par un développeur dénommé "Orwell" (enfin, c'est son pseudo), qui produit désormais le fork Orwell Dev-C++ : http://orwelldevcpp.blogspot.com/

La dernière version d'Orwell Dev-C++ 5.8.3 date du 15 Novembre 2014.

Autrement, pour programmer avec le compilateur GNU, Codeblocks a aussi ma préférence :-) la communauté de développeurs étant active et plus substantielle, ou alors Eclipse CDT.


Dal
0