Choix entre deux variables.

Résolu
sikim69 Messages postés 39 Statut Membre -  
sikim69 Messages postés 39 Statut Membre -
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

  1. KX Messages postés 19031 Statut Modérateur 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
    1. sikim69 Messages postés 39 Statut Membre 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
    2. KX Messages postés 19031 Statut Modérateur 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
    3. sikim69 Messages postés 39 Statut Membre 1
       
      Un grand merci à toi !

      Bonne soirée !
      0