Choix entre deux variables.

Résolu
sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous,

J'aimerais savoir si c'est possible en C de faire appel à une fonction qui choissira entre deux variables.

Exemple :

int i = 5, j = 0;

// J'aimerais que l'ordinateur choissise au hasard entre la variable i et la variable j.

Est ce faisable ?


Merci !
bonne soirée à tous et à toutes

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu peux toujours faire un tirage aléatoire entre 0 et 1 pour utiliser cette valeur comme test dans un if, ou un opérateur ternaire.

int k = random()%2 ? i : j;
0
sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   1
 
Donc comment expliquer ce que tu viens d'ecrire ? Parce que si c'est comme je le comprend c'est une bonne idée !
Mais je prefere etre sur..
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
"comment expliquer ce que tu viens d'ecrire ?"
Bah, je l'ai déjà expliqué non ?

random()%2 c'est le tirage aléatoire entre 0 et 1. J'ai implicitement utilisé le fait qu'en C on a 0 qui vaut false et 1 qui vaut true pour faire le test, donc on pourrait faire explicitement un test "random()%2 != 0" mais ça revient au même. Ensuite la structure "? i : j" c'est l'opérateur ternaire dont je parlais. On peut aussi faire ça avec un if, mais c'est plus long.

int k;
if (random()%2 != 0)
    k=i;
else
    k=j;
0
sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   1
 
Un grand merci à toi !

Bonne soirée !
0