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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
#1

Быки и коровы - C++

25.07.2013, 21:51. Просмотров 1303. Ответов 5
Метки нет (Все метки)

1. В чём разница между структурой и классом, зачем использовать структуру?
2. Зачем нужны структуры pair и four?
3. Что такое inline и зачем их использовать?
4. Что значит строчка game(): m_attempts( 0 ) ?

помогите ответить на вопросы пожжжж быстреее!!!

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
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <conio.h>
using namespace std;
 
namespace bullscows
{
        struct pair
        {
                int  bulls;
                int  cows;
        };
 
        struct four
        {
                int  a;
                int  b;
                int  c;
                int  d;
        };
 
        class game
        {
        private:
 
                four  m_f;
                mutable int  m_attempts;
 
                inline bool  isExist( int  x ) const
                {
                  return  ( x == m_f.a || x == m_f.b || x == m_f.c || x == m_f.d );
                }
 
        public:
 
                game(): m_attempts( 0 )
                {
                }
 
                int  getAttempts() const
                {
                  return  m_attempts;
                }
 
                pair  guess( const four  & f ) const
                {
                  ++m_attempts;
                  pair p;
                  p.bulls = int( f.a == m_f.a ) + int( f.b == m_f.b ) + int( f.c == m_f.c ) + int( f.d == m_f.d );
                  p.cows  = isExist( f.a ) + isExist( f.b ) + isExist( f.c ) + isExist( f.d );
                  return  p;
                }
 
                game &  newGame()
                {
                  m_f.a = rand()%9, m_f.b = rand()%9, m_f.c = rand()%9, m_f.d = rand()%9;
                  m_attempts = 0;
                  return  ( * this );
                }
 
        };
 
}
 
void  run( const bullscows::game  & game )
{
  bullscows::pair  p;
  bullscows::four  f;
 
  do
  {
    cout << "Enter a, b, c, d:" << endl;
    cin >> f.a;
    if( static_cast< int >( log10( static_cast< double >( f.a ) ) ) == 3 )
    {
      f.d = f.a % 10, f.c = f.a / 10 % 10, f.b = f.a / 100 % 10, f.a /= 1000;
    } else
    {
      cin >> f.b >> f.c >> f.d;
    }
    p = game.guess( f );
    cout << "bulls: " << p.bulls << ", cows: " << p.cows << endl;
  } while( p.bulls != 4 );
  cout << "congratulation you win! you use " << game.getAttempts() << " attempts." << endl;
}
 
 
int  main()
{
 srand(time(0));
 cout << "Bulls & Cows" <<endl;
  int key = 0;
 
  bullscows::game  bc;
  do
  {
    run( bc.newGame() );
    cout << "Press any key to continue or Esc to Exit..." << endl;
 
    if( (key = getch()) == 0 )key = getch();
  } while( key != 27 );
  getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2013, 21:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Быки и коровы (C++):

Быки и коровы - C++
Решил написать игру Быки и коровы, но уже в самом начале появились проблемы. я сделал функцию, которая считает количество быков, т.е....

Быки и коровы - C++
Есть такая задача быки о коровы. Условие: http://********/?main=task&amp;id_task=13. Код моего решения: #include &lt;fstream&gt; #include...

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

Игра: Быки и Коровы - C++
Всем привет! Нужно написать игру &quot;Быки и коровы&quot;, но без массива :) Я справился с поставленной задачей, но есть баг... Если компьютер...

Быки и коровы. Комментарии к коду. - C++
Нужно прокомментировать программу на языке с++ Игра Быки и Коровы. Чем подробнее тем лучше. Заранее спасибо! #include &quot;stdafx.h&quot; ...

Быки и коровы, не правильно считает их - C++
Не правильно считает быков и коров, помогите пожалуйста #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;cstdlib&gt; // rand() ...

5
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
25.07.2013, 21:59 #2
Цитата Сообщение от sancho1996 Посмотреть сообщение
4. Что значит строчка game(): m_attempts( 0 ) ?
переменная m_attempts инициализируется значением 0.
0
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
25.07.2013, 22:01 #3
Цитата Сообщение от sancho1996 Посмотреть сообщение
1. В чём разница между структурой и классом, зачем использовать структуру?
2. Зачем нужны структуры pair и four?
3. Что такое inline и зачем их использовать?
4. Что значит строчка game(): m_attempts( 0 ) ?
1. Принципиальной разницы нет. В структуре все поля по умолчанию публичные, в классе - приватные.
Структуры были оставлены для совместимости с кодом написанным на Си.
2. Можно заменить ими некоторые структуры.
3. Inline подставляет всё тело функции в код, тем самым избегая затрат на вызов функции.
Подходит для небольших и не рекурсивных функций.
4. Конструктор со списком инициализации.
1
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
25.07.2013, 23:31 #4
Цитата Сообщение от SummerRain Посмотреть сообщение
1. Принципиальной разницы нет. В структуре все поля по умолчанию публичные, в классе - приватные.
Извените поправлю в классах по умолчанию protected)) тоесть доступ ограничен всем кроме наследников и дружевственных
0
Jupiter
Каратель
Эксперт С++
6560 / 3981 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.07.2013, 23:33 #5
Цитата Сообщение от alex1392 Посмотреть сообщение
Извените поправлю в классах по умолчанию protected))
уверен?
0
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
25.07.2013, 23:36 #6
Цитата Сообщение от Jupiter Посмотреть сообщение
уверен?
неа сори ((( прогнал ) удалите мой флуд ___)))
0
25.07.2013, 23:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 23:36
Привет! Вот еще темы с ответами:

Задача про вектор для игры "Быки и коровы" - C++
Задача из книги Страуструпа, вот условие : программа должна хранить вектор из четырех различных чисел в диапазоне от 0 до 9 (т.е.,...

Ошибка в коде игры "Быки и коровы" - C++
#include &lt;iostream&gt; #include &quot;Game.h&quot; using namespace std; Game::Game() { com; per; } Game:: ~Game() { delete per; ...

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

Алгоритм игры "Быки и коровы" - C++
Игра &quot;Быки и коровы&quot;. Вы загадываете пятизначное число. Программа дает Вам другое четырехзначное число. Вы отвечаете, сколько цифр в числах...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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