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

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

Войти
Регистрация
Восстановить пароль
 
Dreamfactor
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 208
#1

Создать программу, на основе ответов пользователя, приходящую к какому-либо выводу. - C++

01.04.2014, 18:15. Просмотров 246. Ответов 3
Метки нет (Все метки)

Как сделать простой ответчик , допустим программа задает вопросы , а пользователь отвечает только "да" или "нет" , в итоге этих ответов приходит к какому то выводу. (что-то на подобии акинатора) только очень простого.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 18:15     Создать программу, на основе ответов пользователя, приходящую к какому-либо выводу.
Посмотрите здесь:
Решить задачу слияния 2 списков по какому-либо условию C++
Реализовать распознание объекта из некоторого множества (расширяемого) на основе вопросов и ответов C++
C++ Как создать программу (экзешник) с GUI на основе кода консольного приложения?
C++ Создать программу, запрашивающую у пользователя значение х, z. Найти у:
Написать функцию для нахождения самой длинной последовательности подряд идущих элементов массива,равных какому-либо заданному C++
C++ Создать программу, которая запрашивает у пользователя три числа: A, B и C
C++ Написать программу по выводу всех совершенных чисел до заданного
C++ Разработать орнамент на основе каких-либо математических кривых и заполнить ими экран
При изменении каких либо данных программа либо вылетает, либо просто не изменяет данные C++
C++ две прямые либо паралельны либо совпадают либо не существуют
Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия) C++
Создать стек на основе контейнера vector C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
01.04.2014, 18:30     Создать программу, на основе ответов пользователя, приходящую к какому-либо выводу. #2
Пусть функция bool ask(std::string s) - задает пользователю вопрос, если ответ - Да, то возвращает True, в противном случае - False;

Тогда можно просто заифить:
C++
1
2
3
4
5
6
7
8
if (Ask("123?"))
 {
   ....
 }
else
{
  ....
}
Или можно построить бинарное дерево, если ответ - Да, то перемещаться в левое поддерево, иначе - в правое. Когда дойдем до листа (у которого не поддеревьев), то в нем должен храниться ответ.
Dreamfactor
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 208
01.04.2014, 18:38  [ТС]     Создать программу, на основе ответов пользователя, приходящую к какому-либо выводу. #3
а можно про бинарное дерево поподробнее ?
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
01.04.2014, 18:47     Создать программу, на основе ответов пользователя, приходящую к какому-либо выводу. #4
Про саму структуру данных здесь: http://ru.wikipedia.org/wiki/%C4%E2%...E5%F0%E5%E2%EE
Как использовать на вашем примере: в вершинах дерева я бы хранил структуру, например, такую
C++
1
2
3
4
5
6
struct Key
{
   bool isQuestion;
   std::string text;
   Tree left, right;
};
text - в этой переменной хранится какая-то текстовая информация (либо Вопрос какой-то, либо уже Ответ).
isQuestion == True, если в Text хранится вопрос, False - если хранится ответ.
left, right - указатели на левое и правое поддерево текущей вершины. left и right не будут содержать указатели на поддеревья в том случае, если isQuestion == False.

Смысл использования: В вершине хранится либо вопрос, либо ответ. Ответы будут храниться только в самых нижних вершинах (в листьях). Если хранится вопрос в текущей вершине, то мы задаем его и в соответствии с ответом переходим на разные поддеревья (которые будут содержать разные вопросы или ответы).
Yandex
Объявления
01.04.2014, 18:47     Создать программу, на основе ответов пользователя, приходящую к какому-либо выводу.
Ответ Создать тему
Опции темы

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