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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать русско-английский и англо-русский словарь http://www.cyberforum.ru/cpp-beginners/thread1205861.html
Надо было реализовать словарь с русского на англ и наоборот. #include "iostream" #include "string.h" using namespace std; int main() { { char const n=20; char...
C++ В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов пожалуйста пожалуйста листинг оставил на компьютере в колледже поэтому кинуть свои наработки не могу Условие:"введенному с клавиатуры одномерном массиве найти наибольший среди отрицательных и... http://www.cyberforum.ru/cpp-beginners/thread1205844.html
Как считать количество жизней игрока? C++
Всем доброе время суток. Недавно мы закончили изучать в институте язык C++ Builder 6 (а также Delphi 7) и мне захотелось написать простенького бота для игры (игра называется Lineage 2 если кто...
Случайные целые C++
Подскажите что не так?При проверке на сайте пишет частичное решение. Напишите программу, которая вводит два целых числа, a и b ( a < b ), и выводит через пробел 5 случайных целых чисел на отрезке ....
C++ Об инкапсуляции данных в ООП http://www.cyberforum.ru/cpp-beginners/thread1205780.html
Добрый день, почти сделал лабу, но нужно устранить замечание. Идея такая, Должен быть класс поставщик, от него делается два подкласса, которые работают с разными видами ввода. и есть класс с...
C++ Проверить делится ли число нацело с помощью машины тьюринга Подскажите, пожалуйста, в чем ошибка. Мне эту задачу нужно сдать на экзамене. Нужно проверить, делиться ли одно число нацело на другое. При этом нужно это реализовать так: сделать машину Тьюринга,... подробнее

Показать сообщение отдельно
Ванек123
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 2

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

11.06.2014, 22:47. Просмотров 1046. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru