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

Быки и коровы

25.07.2013, 21:51. Показов 3520. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2013, 21:51
Ответы с готовыми решениями:

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

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

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

5
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
25.07.2013, 21:59
Цитата Сообщение от sancho1996 Посмотреть сообщение
4. Что значит строчка game(): m_attempts( 0 ) ?
переменная m_attempts инициализируется значением 0.
0
 Аватар для SummerRain
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
25.07.2013, 22:01
Цитата Сообщение от 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
Цитата Сообщение от SummerRain Посмотреть сообщение
1. Принципиальной разницы нет. В структуре все поля по умолчанию публичные, в классе - приватные.
Извените поправлю в классах по умолчанию protected)) тоесть доступ ограничен всем кроме наследников и дружевственных
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
25.07.2013, 23:33
Цитата Сообщение от alex1392 Посмотреть сообщение
Извените поправлю в классах по умолчанию protected))
уверен?
0
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
25.07.2013, 23:36
Цитата Сообщение от Jupiter Посмотреть сообщение
уверен?
неа сори ((( прогнал ) удалите мой флуд ___)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.07.2013, 23:36
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru