Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
1

Быки и коровы

25.07.2013, 21:51. Показов 2516. Ответов 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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2013, 21:51
Ответы с готовыми решениями:

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

Быки и коровы
Здравствуйте, помогите пжлст дописать игру &quot;быки и коровы&quot;. Начало кода с генерацией рандомных...

Быки и коровы
написал игру быки и коровы. Ниже мой вариант. // ConsoleApplication1.cpp : Defines the entry...

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

5
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
25.07.2013, 21:59 2
Цитата Сообщение от sancho1996 Посмотреть сообщение
4. Что значит строчка game(): m_attempts( 0 ) ?
переменная m_attempts инициализируется значением 0.
0
328 / 327 / 92
Регистрация: 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
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
25.07.2013, 23:31 4
Цитата Сообщение от SummerRain Посмотреть сообщение
1. Принципиальной разницы нет. В структуре все поля по умолчанию публичные, в классе - приватные.
Извените поправлю в классах по умолчанию protected)) тоесть доступ ограничен всем кроме наследников и дружевственных
0
Каратель
Эксперт С++
6601 / 4020 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
25.07.2013, 23:33 5
Цитата Сообщение от alex1392 Посмотреть сообщение
Извените поправлю в классах по умолчанию protected))
уверен?
0
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
25.07.2013, 23:36 6
Цитата Сообщение от Jupiter Посмотреть сообщение
уверен?
неа сори ((( прогнал ) удалите мой флуд ___)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2013, 23:36

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

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

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

Быки и коровы. Комментарии к коду.
Нужно прокомментировать программу на языке с++ Игра Быки и Коровы. Чем подробнее тем лучше. Заранее...

Написать игру «Быки и коровы»
3. Написать игру «Быки и коровы». Программа &quot;загадывает&quot; четырёхзначное число и играющий должен...

Нужен исходник программы "Быки и коровы" с минимальной итерацией
Нигде не нашел код с подобными условиями. Преподаватель решил максимально усложнить задачу. Сам я...


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

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

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