Да се напише програма, която може да познае намислено от вас число в диапазона от 1 до 100 от 10 опита. Как действа програмата: казва ви дадено число, а ако не е познала, вие я насочвате с символите ‘<‘ (ако намисленото число е по-малко от казаното), ‘>’ (ако е по-голямо) и ‘=’ (ако числото е познато).
Решение: Програмата може да работи по метода на двоичното търсене: в началото започва с интервал от 1 до 100. Винаги казва числото, което е в средата на интервала (т.е. 50), и ако намисленото число е по-малко, то средата на интервала става горна граница на новия интервал – т.е вече ни интересуват числата от 1 до 50, затова предлагаме 25. Повтаряме тази процедура, докато уцелим числото.


int nach,krai,chislo; char z; //Zadavame nachalna stoinost na intervala [0;100] nach=0; krai=100; cout<<"Namislete si chislo ot 1 do 100! (10 vuzmojni opita do namirane na chisloto)"<<endl; for(int i=1;i<10;i++){ chislo=(nach+krai)/2; cout<<i<<" Opit!"<<endl; cout<<chislo<<endl; cout<<"Vavedete dali namislenoto chislo e po-golqmo, po-malko ili e ravno: "; cin>>z; //Vzavisimost ot znaka se promenq intervala if(z=='<') krai=chislo; if(z=='>') nach=chislo; //Prekratqvame tzikula if(z=='='){ ;break; } } cout<<"Namislenoto chislo e :"<<chislo<<endl;Вярно :-) И работи…