Je suppose que vous voulez dire recherche binaire. Wikipedia a loads of information. Vous n'avez pas non plus spécifié si vous pouvez utiliser le stl.
Le pseudo-code de base est
min := 1;
max := N; {array size: var A : array [1..N] of integer}
repeat
mid := (min + max) div 2;
if x > A[mid] then
min := mid + 1
else
max := mid - 1;
until (A[mid] = x) or (min > max);
Donc, en vous cas, min 0, max est de 100, où pourrait modifier l'algorithme ci-dessus pour qu'il prend en charge l'entrée d'utilisateur. Tout ce qui doit arriver est plutôt que les contrôles de comparaison sur un tableau, il suffit de vérifier les entrées de l'utilisateur.
min := 1;
max := 100;
repeat
mid := (min + max) div 2;
print mid;
c := getChar();
if c == 'h' then
min := mid + 1
else if c == 'l'
max := mid - 1;
else if c == 'y'
return mid
until (min > max);
Toutefois, si vous souhaitez obtenir de l'aide, vous devez envoyer votre code jusqu'à présent.
voulez-vous dire recherche binaire? – leiz
Je pense que vous voulez dire un algorithme de diviser pour régner –
Quel aspect du problème avez-vous des problèmes? –