J aimerai sa voir le principe,pour fair ce genre de problemes.

cs_aminemas Messages postés 4 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 20 février 2010 - 19 nov. 2008 à 13:20
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 - 3 janv. 2009 à 12:19
l exercice :

Écrivez un programme , ne contenant pas plus de 10 questions pour  deviner un nombre entre 1 et 100 . 
vous pensez a un numero par exemple (17) , et le programme faire  (systématiquement) de poser des questions
(par exemple: \ Est-ce que le nombre de moins de 8? "). Il est possible de faire avec y / n (ou 1 / 0) pour  répondre. , jusqu'à ce qu'il soit sûr, de quell  Nombre il s'agit. Maintenant, il répond par exemple avec: \ Le nombre recherché est de 17 ".

je vous remercie

le probleme je sait pas comment faire ,et deux jour j ai pas dormie pour voir d autre exemples ,mais c est pas la meme bibliotehke ,svp aidez moi pour faire ce exercice

j aimerai sa voir le principe,pour fair ce genre de problemes.

4 réponses

cs_aminemas Messages postés 4 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 20 février 2010
19 nov. 2008 à 15:15
#include





using






namespace
std;


int



main(){


int



x;


int



versuch;


int



rep;


int



i;versuch=0;

x=100;

i=0;



for



(i==0;i<10;++i){cout <<


"Ist ihr nummer kein als ,"
<< x <<

" 1/0\n"
;cin >> rep;


if
(rep==1){

x=x/2;

}


else
{x=(x+(x/2));

}

 

 

}

cout <<


"ihr nummer ist: "
<< x; 



return



0;}
0
cs_aminemas Messages postés 4 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 20 février 2010
19 nov. 2008 à 15:17
j ai essaier de le fair mais toujour le meme probleme ,sa marche pas ,il me donne une autre numero
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
20 nov. 2008 à 18:51
Recherche dichotomique?
int min 1, max 100;
int mean;
char res;
do
{
  mean = (min+max)/2;
  printf("Nombre supérieur à %d? (o/n)\n", mean);
  scanf("%c", &res);
  if (res == 'o')
    min= mean + 1;
  else
    max=mean;
} while (min != max)
printf("Le nombre est: %d\n", min);

Je ne vérifie pas le nombre d'itération, mais cela devrait aller si tu cherches entre 1 et 100.
Le programme ne pose de questions très variées, mais bon... As toi de l'améliorer.
L'idée, c'est de réduire les ensembles de recherche jusqu'à ce qu'il ne reste plus qu'un seul élément.

--Vive le CSavon
0
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 1
3 janv. 2009 à 12:19
julienbj: et pourquoi pas un arbre binaire ?
0
Rejoignez-nous