Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ванек123
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 2
#1

Игра: Угадай число - C++

11.06.2014, 22:47. Просмотров 1172. Ответов 0
Метки нет (Все метки)

Не по теме:

Гра «Вгадай число»
Напишіть програму, яка вмітиме грати (за будь-якого з гравців) у таку гру. Один гравець загадує натуральне число від 1 до N, інший має його відгадати, задаючи питання виду «це число ….?» і отримуючи одну з відповідей «так», «загадане число бульше» або «загадане число менше». Програма має грати оптимально (вгадувати за найменшу кількість запитань, тобто треба використати бінарний пошук). Програма повина працювати коректно, не залежно від того, чи оптимальним чином ставить запитання гравець людина. Якщо нравець людина дав суперечні відповіді (наприклад один раз сказав, що число бідьше 100, а через кілька ходів, що менше 101), програма повинна детально про це розказати.



Игра «Угадай число»
Напишите программу, которая будет уметь играть (любого из игроков) в такую ​​игру. Один игрок загадывает натуральное число от 1 до N, другой должен его отгадать, задавая вопросы вида «это число ....?» И получая один из ответов «да», «загаданное число больше» или «загаданное число меньше». Программа должна играть оптимально (угадывать за наименьшее количество вопросов, то есть нужно использовать бинарный поиск). Программа и должна работать корректно, независимо от того, оптимальным образом ставит вопрос игрок человек. Если человек дал противоречивые ответы (например однажды сказал, что число более 100, а через несколько ходов, менее 101), программа должна подробно об этом рассказать.
(google translate)

не могу написать условие : Програма повина працювати коректно, не залежно від того, чи оптимальним чином ставить запитання гравець людина. Якщо нравець людина дав суперечні відповіді (наприклад один раз сказав, що число бідьше 100, а через кілька ходів, що менше 101), програма повинна детально про це розказати.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include "iostream" 
#include "cstdlib"  
#include "ctime"   
 
using namespace std;
 
int comp () 
 {  
    srand (time(0)); 
 
    int i = rand()%100;  
    while (true)
 { 
  cout << "Я загадал число, какое?" << endl; 
     int j;
    cin >> j;
    if (i > j)
    {
        cout << "Мое число больше" <<endl;
    }else {
        if (i < j)
            cout << "Мое число меньше" << endl;
        else 
        {
            cout << "Ура!!! ТЫ угадал!!!!" << endl;
            break;
        }
    
    }
 
 
 }
    return 0;
  
}
 
float f(float x)
{
    cout << (int)x << endl;
    cout << "Правильно ( + / - / = )? ";
    char c;
    cin >>  c;
    while (true)
    {
        switch (c)
        {
            case '+': return +1;
            case '-': return -1;
            case '=': return 0;
 
 
        }
        cout << "Вы ввели неправвильный символ, повторите попытку!!" <<endl;
    }
}
float n(float x1, float x2)
{
    float x = (x1+x2)/2;
    float y = f(x);
    while (abs(y)> 0.001)
    {
        if (y>0)
            x1=x;
        else 
            x2=x;
        x=(x1 + x2) / 2;
        y=f(x);
    }
    return x;
    
}
int computer ()
{
    cout << "Вы загодали число : " << (int) n(0,100) << endl;
    return 0;
}
int main ()
{
    setlocale(LC_ALL, "Russian");
    bool done;
    cout << "                    Представляем к вашему вниманию игру:" << endl;
        cout << "                                УГАДАЙ ЧИСЛО" << endl;
        cout << "                               И так поехали!!!!!!" << endl;
        cout << "                                                                                 " << endl;
    do
    {
    cout << "Выберите тип игры (компьютер - игрок(1); игрок - компьютер(2))" << endl;
    int k;
    cin >> k;
    if (k==1)
    {
        computer ();
    } else {
        if (k==2)
        {
          comp ();  
        }else
            cout << "Вы ввели неправильный символ, пожалуйста повторите попытку!!!" << endl;
    }       
            
    cout << "Вы желаете продолжить(y/n)?";
  char c;
  cin >> c;
  done =(c!='y');
} while (!done );  
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 22:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игра: Угадай число (C++):

Игра «Угадай число» - C++
4. Игра «Угадай число». Компьютер загадывает число, человек отгадывает. Всего 5 попыток. (random)

Готовая игра "угадай число" - C++
#include &lt;iostream.h&gt; int main () { int x=rnd%256; int d; int masks={0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01}; ...

Игра "Угадай число" - C++
Пожайлуста, решите задачу на С++ с условием:написать программу, которая &quot;задумывает&quot; число в диапазоне от 1 до 10 и предлагает пользователю...

Игра "Угадай число" - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main(){ setlocale(LC_ALL,&quot;rus&quot;); int num, ques, i, menu=1,...

Игра "Угадай число" - C++
Помогите написать программу!!!Вот задание: Игра «Угадай число»: составьте программу определения компьютером задуманного человеком числа от...

Игра "Угадай число" - C++
2)Написать программу, которая &quot;задумывает&quot; число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 попыток. Ниже...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2014, 22:47
Привет! Вот еще темы с ответами:

Игра "Угадай число" - C++
Здравствуйте,помогите у кого есть время и возможность вообщем задание такое: нужно написать прогу,где юзер вводит любое число ...

Игра "Угадай число" - C++
Нужно доделать код программы... (Желательно до 24-го числа.. но можно и позже) Задание: напишите программу, которая будет уметь...

Игра "Угадай число" - C++
Написал программу угадывания числа. Программа работает, но есть проблема повторного вызова игры. Когда мы угадываем число, программа нам...

Игра "Угадай число" - C++
Ребят крч сегодня начал учить c++, задача была сделать игру &quot;Угадай число&quot; с фиксированным числом. Вроде начал делать и я не понимаю просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.