Salut à tous !
J'ai voulu changer un code c# qui marchait très bien et ça ne marche plus et je ne comprends pas pourquoi les deux codes ne renvoient pas toujours le même résultat...
Le but est de trouver dans un int[] A l'indice du premier élément supérieur à un entier k, avec k inférieur à A.Max().
Cas 1 : Le code bon
Cas 2 : Le code qui se trompe parfois, mais pourquoi ?Code:int n = -1; int j = 0; while (j < A.Count() && n < 0) { if (A[j] >= k) n = j; j++; } return n;
Code:int n = -1; int j = k; while (A.Contains(j) == false) j++; n = Array.IndexOf(A, j); return n;
-----