Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295

Игра "Угадайка – 4"

10.10.2013, 17:37. Показов 4526. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Игра "Угадайка – 4". Некто задумал целое число в интервале от 0 до 3.
Нужно угадать это число, задавая вопросы.
На эти вопросы Некто может отвечать лишь "Да" или "Нет".
Какое количество информации мы должны получить, чтобы узнать задуманное число, т.е. полностью снять начальную неопределенность?
Как построить процесс угадывания, минимизируя количество задаваемых вопросов?
Исходами в данном случае являются: A1 – "задуман 0", A2 – "задумана 1", A3 – "задумана 2", A4 – "задумана 3".
Задание.
Для игры "Угадайка - N"
N – определяется вариантом заданным таблицей:

0-11

1. Какое количество информации мы должны получить, чтобы узнать задуманное число?
2. Постройте алгоритм процесса угадывания для заданного варианта.
3. Разработайте техническое задание на создание программы, угадывающей задуманное пользователем число.
4. Разработайте алгоритм программы, угадывающей задуманное пользователем число.
5. Напишите программу, реализующую разработанный алгоритм.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.10.2013, 17:37
Ответы с готовыми решениями:

Игра "угадайка" с использованием do while. Ошибка.
Собственно задача: Написать программу, играющую с пользователем в "угадайку" - пользователь загадывает число, компьютер пытается...

Игра "Угадайка"
Привет! Код игры "Угадайка" из книги по изучению C++ через программирование игр. Я сделал код цикличным, чтобы программа предлагала...

Игра угадайка
Ребят, помогите написать прогу на си, плиииз Компьютер случайным образом извлекает из подготовленного файла слово и распечатывает на...

20
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 18:17
В чем сложность? Алгоритм поиска? У меня получилось 2 вопроса.
0
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 18:18  [ТС]
не понятен алгоритм, как задумать число? кто задумал число? компьютер или человек?
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 18:19
создание программы, угадывающей задуманное пользователем число.
Программа отгадывает, а Вы загадываете. Если код нужен, напишу сразу после того, как сбегаю в киоск . 15-20 минут.
1
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 18:20  [ТС]
а как она будет угадывать? программа же не знает какое число я задумал?
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 18:22
Цитата Сообщение от names1995 Посмотреть сообщение
а как она будет угадывать? программа же не знает какое число я задумал?
Будет задавать Вам 2 вопроса.
0
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 18:24  [ТС]
код не помешал бы ))

Добавлено через 1 минуту
интервал чисел от 0 до 11, программа будет задавать вопрос рандомно или с помощью if ?
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 18:49
Цитата Сообщение от names1995 Посмотреть сообщение
интервал чисел от 0 до 11, программа будет задавать вопрос рандомно или с помощью if ?
Так загадывается от 0 до 3 или от 0 до 11? Вопрос задается заранее известный. Ответ обрабатывается if/else
1
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 18:53  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cout <<"Игра Угадайка-11"<<endl;
        int x;
     cout <<"x>1?"<<endl; 
    cout << "1-Да - 2-Нет"<<endl;
     int vybor; cin >>vybor;
         if (x>1)
         {
           cout <<"x>2?"<<endl; 
    cout << "1-Да - 2-Нет"<<endl;
       
         } 
         else 
         {
           cout << "x<0?"<<endl;
            
        
         }
это будет выглядеть так?

Добавлено через 2 минуты
я писал игру, где число задается рандомно программой, но тут как-то не могу понять )))
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 19:01
Вот код для "Угадайка - 4"
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char answer = 'y';
 
    cout << "Загадайте число от 0 до 3" << endl;
    cout << "Отстаок от деления загаданного числа на 3 равен 0? (y/n): ";
    cin >> answer;
 
    if (answer == 'y' || answer == 'Y')
    {
        cout << "При делении загаданного числа на 3, результат равен 0? (y/n): ";
        cin >> answer;
 
        if (answer == 'y' || answer == 'Y')
            cout << "Вы загадали число 0" << endl;
        else
            cout << "Вы загадали число 3" << endl;
    }
 
    else
    {
        cout << "Отстаок от деления загаданного числа на 3 равен 1? (y/n): ";
        cin >> answer;
 
        if (answer == 'y' || answer == 'Y')
            cout << "Вы загадали число 1" << endl;
        else
            cout << "Вы загадали число 2" << endl;
    }
 
    system("pause");
    return 0;
}
Нужно для угадайка 11?
1
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 19:03  [ТС]
буду очень благодарен
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 19:06
Цитата Сообщение от names1995 Посмотреть сообщение
буду очень благодарен
Надо только подумать, как в 1 шаг вычислить 1 из 3-х интервалов по 4 значения, а так тоже самое.
1
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 19:11  [ТС]
хотя, я думаю лучше будет если сам разберусь, нет?

Добавлено через 48 секунд
спс, попытаюсь разобраться сам )))

Добавлено через 8 секунд
вы помогли ))
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 19:40
Вот не приходит в голову, хоть "убей". За 4 вопроса знаю как, но это не интересно, хочется за 3... а мысли нет Если додумаюсь, напишу код.
0
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 19:40  [ТС]
окей )))
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 22:09
Не выйдет сделать в 3 хода. Бинарный поиск (ответы да/нет) возволяют отсечь только 1/2 текущей выборки, поэтому только в 4 хода. Ну или 1-й вопрос должен быть не закрытым, тогда в 3 можно уложиться.
0
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 22:17  [ТС]
а мне оказывается нужно было 15, за сколько ходов можно сделать это?

Добавлено через 7 минут
а то у меня получается так чтобы угадать три четных числа, приходится три хода
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 22:22
Цитата Сообщение от names1995 Посмотреть сообщение
а мне оказывается нужно было 15, за сколько ходов можно сделать это?
за 4. Вам нужно разбить 12 чисел в группы по 4. Для 4-х у Вас уже есть решение в 2 хода (только вместо вопроса x / 3 или x % 3 нужно брать (x % 4) / 3 или (x % 4) % 3).
Вопрос первый. Число больше 7? (да, интервал 8 9 10 11, нет, интервал 0 1 2 3 4 5 6 7)
Вопрос второй (если на первый ответ нет). При полчении ответа "да" на 1-й вопрос, второй нужно пропустить и задача решиться в 3 хода, но это полностью не исключает неопределенность. Сам вопрос: Загаданное число больше 3?. Да - интервал 4 5 6 7, нет - 0 1 2 3.
Вопрос 3 и 4 аналогичны угадайке 4, только с поправкой, которую я написал выше (загаданное число по модулю 4).
1
12 / 13 / 6
Регистрация: 13.11.2012
Сообщений: 295
10.10.2013, 22:26  [ТС]
C++
1
cout << "Ваше число четное? 1-Да, 2-Нет"<<endl;
у меня типа такого было

Добавлено через 1 минуту
Вам нужно разбить 12 чисел в группы по 4? не совсем понятно, четные и нечетные?
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
10.10.2013, 22:32
Цитата Сообщение от names1995 Посмотреть сообщение
Вам нужно разбить 12 чисел в группы по 4? не совсем понятно, четные и нечетные?
0 1 2 3
4 5 6 7 = 0 1 2 3 (4 % 4, 5 % 4....)
8 9 10 11 = 0 1 2 3 (8 % 4, 9 % 4...)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.10.2013, 22:32
Помогаю со студенческими работами здесь

Игра угадайка.
Добрый день. Код: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset= &quot;utf-8&quot;&gt; &lt;title&gt;Отгадай-ка&lt;/title&gt; &lt;/head&gt; ...

Игра угадайка
Здравствуйте! В общем нужно написать программу, моделирующую игру «Угадайка». Компьютер случайным образом загадывает число от 1 до 100....

Игра угадайка
При запуске программа загадывает число от 1 до 99 (включительно) и дает пользователю 10 попыток отгадать. Далее пользователь начинает...

Игра угадайка!
#!usr/bin/perl -w $im_thinking_of=int(rand 10); print &quot;Введите число от 0 до 9:&quot;; $guess=&lt;STDIN&gt;; chomp $guess; if...

Игра Угадайка
Помогите, пожалуйста, разобраться...только недавно начал изучать Java. и появились проблемы в синтаксисе что то компилятор ругается на char...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru