[Mini Sondage C++] Condition courte

Elwish Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
Elwish Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Ceci s'adresse aux programmeurs C++. Je voudrais juste savoir combien de personnes sont capables de tranformer cette mini condition de 4 lignes, en 1 seul ligne.

La condition à réduire :

if (a > b)
max = a;
else
max = b;
A voir également:

5 réponses

D-Predator Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   80
 
LOL, la macro max...

resultat = max(a, b);

mais attention, c'est une macro dont elle passe dans le préprocesseur... donc

max(a++, b) donne en réalité
((a++) < (b) ? (b) : (a++))
ce qui est invalide puisque la variable va être incrémenté 2 fois...
-1
Elwish Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
Inutile les macros ici.


J'ai juste demander si quelqu'un est capable de transorformer la conditions ci dessus en 1 ligne. Pas d'incrémentation supplémentaire ...
-1
cedric1989 Messages postés 261 Date d'inscription   Statut Membre Dernière intervention   37
 
max = a*(a>b) + b*(b>a)
Ce serait pas ça par hasard ?
-1
Mahmah Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   125
 
Hello,

Moi je sais :

if (a > b) max = a; else max = b;

Tadaaaaa ! :D


Sinon la macro max ou dans un esprit c++ et standard, la fonction template de la STL:

#include <algotithm>

int max = ::std::max< int >( a, b );

// ou juste

int max = ::std::max( a, b );


M.
-1

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

Posez votre question
Elwish Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   3
 
Tiens bonne idée, moi je fais :


max = a > b ? a : b ;
-1