Форум программистов, компьютерный форум CyberForum.ru

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

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

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

11.06.2014, 22:47. Просмотров 1020. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 22:47     Игра: Угадай число
Посмотрите здесь:

Игра «Угадай число» - 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++
#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++
Пожайлуста, решите задачу на С++ с условием:написать программу, которая &quot;задумывает&quot; число в диапазоне от 1 до 10 и предлагает пользователю...

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

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

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

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

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

Игра: “Угадай слово” - C++
Игра: “Угадай слово” Подготовить массив из минимум 20 слов. В начале игры с помощью генератора случайных чисел выбирается одно из...

Игра Угадай Слово ошибка в коде - C++
Здравствуйте,проблема в том, что программа работает не корректно. А именно в начале программы при вводе &quot;да&quot; игра закрывается, хотя...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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