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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
names1995
11 / 11 / 2
Регистрация: 13.11.2012
Сообщений: 276
#1

Игра "Угадайка – 4" - C++

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

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

0-11

1. Какое количество информации мы должны получить, чтобы узнать задуманное число?
2. Постройте алгоритм процесса угадывания для заданного варианта.
3. Разработайте техническое задание на создание программы, угадывающей задуманное пользователем число.
4. Разработайте алгоритм программы, угадывающей задуманное пользователем число.
5. Напишите программу, реализующую разработанный алгоритм.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 17:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игра "Угадайка – 4" (C++):

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

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

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе - C++
Доброго времени! Написал на днях тетрис (в консоле) с использованием, кажется это называется WinApi. В цикле вызывается функция...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
10.10.2013, 22:09 #16
Не выйдет сделать в 3 хода. Бинарный поиск (ответы да/нет) возволяют отсечь только 1/2 текущей выборки, поэтому только в 4 хода. Ну или 1-й вопрос должен быть не закрытым, тогда в 3 можно уложиться.
names1995
11 / 11 / 2
Регистрация: 13.11.2012
Сообщений: 276
10.10.2013, 22:17  [ТС] #17
а мне оказывается нужно было 15, за сколько ходов можно сделать это?

Добавлено через 7 минут
а то у меня получается так чтобы угадать три четных числа, приходится три хода
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
10.10.2013, 22:22 #18
Цитата Сообщение от 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).
names1995
11 / 11 / 2
Регистрация: 13.11.2012
Сообщений: 276
10.10.2013, 22:26  [ТС] #19
C++
1
cout << "Ваше число четное? 1-Да, 2-Нет"<<endl;
у меня типа такого было

Добавлено через 1 минуту
Вам нужно разбить 12 чисел в группы по 4? не совсем понятно, четные и нечетные?
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
10.10.2013, 22:32 #20
Цитата Сообщение от 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...)
names1995
11 / 11 / 2
Регистрация: 13.11.2012
Сообщений: 276
10.10.2013, 22:38  [ТС] #21
спс, попытаюсь разобраться ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 22:38
Привет! Вот еще темы с ответами:

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.10.2013, 22:38
Ответ Создать тему
Опции темы

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