Valeur min et max
Résolu/Fermé
ToTo
-
29 oct. 2007 à 18:50
mamiemando Messages postés 33426 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 décembre 2024 - 30 oct. 2007 à 09:45
mamiemando Messages postés 33426 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 décembre 2024 - 30 oct. 2007 à 09:45
A voir également:
- Valeur min et max
- I14 pro max - Accueil - Guide téléphones
- Min en maj - Guide
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Max maillot avis - Forum Consommation & Internet
- Max tv gratuit - Télécharger - Télévision
3 réponses
mamiemando
Messages postés
33426
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
13 décembre 2024
7 809
29 oct. 2007 à 22:09
29 oct. 2007 à 22:09
Pas de parenthèse autour du 0 de return 0; (return n'est pas une fonction, donc pas besoin de parenthèse). Ici tu as un problème car tu compare x à deux variables non initialisées, donc par défaut initialisées à 0 toutes les deux.
Ce qui donne :
Quelques recommandations :
- compile avec les options de warning (-W -Wall pour g++), ton compilateur aurait dû te prévenir que ces variables pouvait être évaluées sans être initialisées :
- pense à initialiser tes variablesquand c'est nécessaire
- évite d'utiliser des headers non standard (par exemple #include "stdafx.h" )
- évite d'utiliser l'instruction "using namespace std;". Si dans un fichier source (.cpp) c'est indolore il ne faut pas l'utiliser dans un header (.hpp). En effet le namespace std:: sert à éviter les conflits entre les classes de la STL et les classes que tu peux éventuellement utiliser par ailleurs.
Bonne chance
#include <iostream> int main(){ int x; std::cout << "x ? "; std::cin >> x; int min = x,max = x; while(x){ std::cout << "x ? "; std::cin >> x; if(x != 0){ min = min < x ? min : x; max = max > x ? max : x; } } std::cout << "min = " << min << " max = " << max << std::endl; return 0; }
Ce qui donne :
x ? 5 x ? 2 x ? 8 x ? 0 min = 2 max = 8
Quelques recommandations :
- compile avec les options de warning (-W -Wall pour g++), ton compilateur aurait dû te prévenir que ces variables pouvait être évaluées sans être initialisées :
- pense à initialiser tes variablesquand c'est nécessaire
- évite d'utiliser des headers non standard (par exemple #include "stdafx.h" )
- évite d'utiliser l'instruction "using namespace std;". Si dans un fichier source (.cpp) c'est indolore il ne faut pas l'utiliser dans un header (.hpp). En effet le namespace std:: sert à éviter les conflits entre les classes de la STL et les classes que tu peux éventuellement utiliser par ailleurs.
Bonne chance
Merci mamiemando pour l'aider
j'ai changé et tous est ça marche bien avec "using namespace std" mais j'ai pas fais avec tes recommandaions car j'ai pas encore appris avec les options warning ^^, mais merci pour le coude de main maitenant j'ai compris
Merci
j'ai changé et tous est ça marche bien avec "using namespace std" mais j'ai pas fais avec tes recommandaions car j'ai pas encore appris avec les options warning ^^, mais merci pour le coude de main maitenant j'ai compris
Merci
mamiemando
Messages postés
33426
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
13 décembre 2024
7 809
30 oct. 2007 à 09:45
30 oct. 2007 à 09:45
Ca s'apprend pas c'est juste une option de compilation. Par exemple avec gcc ça consiste à taper :
au lieu de :
Au risque d'insister je t'incite vraiment à chercher comment on active les warning pour te discipliner à programmer correctement, surtout au début. Mais bon si ça marche c'est l'essentiel. Au passage je n'ai pas compris pourquoi tu incluais "stdafx.h" car ici il ne sert à rien (à part empêcher de compiler sous linux). Bref tu peux le virer sans risque et normalement ça devrait compiler sans problème.
Bonne chance
gcc -W -Wall -o plop.exe plop.c
au lieu de :
gcc -o plop.exe plop.c
Au risque d'insister je t'incite vraiment à chercher comment on active les warning pour te discipliner à programmer correctement, surtout au début. Mais bon si ça marche c'est l'essentiel. Au passage je n'ai pas compris pourquoi tu incluais "stdafx.h" car ici il ne sert à rien (à part empêcher de compiler sous linux). Bref tu peux le virer sans risque et normalement ça devrait compiler sans problème.
Bonne chance