Partage
  • Partager sur Facebook
  • Partager sur Twitter

Condition

    21 novembre 2014 à 18:33:21

    Bonsoir,

    Je n'arrive pas à trouver la condition. Pouvez vous m'aider svp. 

    Enoncé: 

    Compléter la fonction getOddOneOut qui attend un tableau d'au moins 3 entiers qui sont tous égaux sauf 1, et qui renvoie l'intrus (l'entier différent des autres).

    Par exemple, si le tableau est {1, 1, 42, 1, 1, 1}, la fonction renverra 42.

    Ce que j'ai trouvé:

    public static int getOddOneOut(int [] t) {
    
            
            int x;
            for (int i=0;i<=t.length;i++)
            {
                if (!(t[i]==x)){
                    return x;
                }
            }
            
    
        }

    Merci d'avance 

    Bonne soirée

    • Partager sur Facebook
    • Partager sur Twitter
      21 novembre 2014 à 18:50:15

      et bin l'idee est simple:

      deux cas de figure: le nombre n'est pas le premier

      le nombre est le premier:

      --> proposons que c'est pas le premier

      public static int getOddOneOut(int [] t) {
       
               
              int x = t[0];
              //commence à 1 pas besoin de verifier [0]==[0]
              for (int i=1;i<=t.length;i++)
              {
                  if (!(t[i]==x)){
                      return t[i];
                  }
              }
               
       
          }

      Oui mais si c'est le premier ?

      bon bah le second sera détecté comme intrus (logique implacable), dans ce cas si le 2 = le 3 alors on sort le 1 reprenons notre code

      public static int getOddOneOut(int [] t) {
       
               
              int x = t[0];
              //commence à 1 pas besoin de verifier [0]==[0]
              for (int i=1;i<=t.length;i++)
              {
                  if (!(t[i]==x)){
                      //i=1 => second element en cours de traitement)
                      if(i==1&&t[1]==t[2])
                           return t[0];
                      else
                           return t[i];
                  }
              }
               
       
          }



      -
      Edité par Regz 21 novembre 2014 à 18:50:45

      • Partager sur Facebook
      • Partager sur Twitter

      Condition

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown