Аватар для V_Ghost
9 / 9 / 1
Регистрация: 03.03.2011
Сообщений: 116

Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ...

30.03.2011, 21:48. Показов 3027. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите написать програмку, где:
Нужно создать Класс Coins (монеты). Класс сохраняет массив из 3 монет и общее количество лицевых сторон после последнего кидания. Должны быть предусмотрены методы, реализующие инициализацию и кидание монет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2011, 21:48
Ответы с готовыми решениями:

Класс: Создать класс, объектом которого будет являться двумерный массив размерностью n x m.
Нужно создать класс, объектом которого будет являться двумерный массив размерностью n x m. Массив должен размещаться в динамической памяти....

Создать класс Rectangle, который сохраняет Декартовы координаты четырех вершин прямоугольника
Создать класс Rectangle, который сохраняет Декартовы координаты четырех вершин прямоугольника, конструктор для инициализации закрытых...

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо. Дополнительно есть марка,...

6
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
31.03.2011, 09:12
Что подразумевается под массивом из 3 монет? Какую информацию о монетах там хранить?
0
 Аватар для V_Ghost
9 / 9 / 1
Регистрация: 03.03.2011
Сообщений: 116
31.03.2011, 15:25  [ТС]
bigredcat,
Информацию хранить что випало: орёл или рёшка... наверное в текстовом файле..
нуу.. насколько я понимаю, из 3-х монет подразумевается, что 3 монеты подкидиваются сразу...
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
01.04.2011, 11:08
Значит сохраняем значения последнего броска для каждой монеты и общее количество случаев за все время, когда выпал орел. Если я правильно понял, тогда получается примерно такой класс (без реализации):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class Coins
{
public:
    ~Coins() {};
    Coins();
    void SpinCoins();
 
private:
    // Значения последнего подбрасывания.
    int _coin[3];
    // Общий счетчик выпадания орлов.
    int _headsCount;
};
Но вот вопрос возникает, на кой упал этот счетчик орлов, если нет информации о количестве подбрасываний. Он не несет нам никакой полезной информации. Допустим выпало 5 орлов, но за сколько подбрасываний: два, двадцать или миллион.
1
 Аватар для V_Ghost
9 / 9 / 1
Регистрация: 03.03.2011
Сообщений: 116
01.04.2011, 13:37  [ТС]
Ёсли не трудно, напиши еще самую програмку)
и хедерный файл(или как то так)
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
02.04.2011, 05:56
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
#include <iostream>
#include <time.h>
#include <locale.h>
 
class Coins
{
public:
    ~Coins() {};
    Coins();
    // Вывод результатов.
    void PrintResult();
    // Сброс результатов.
    void ResetResult();
    // Одновременное подкидывание трех монет.
    void SpinCoins();
 
private:
    // Признак инициализации генератора псевдослучайных чисел.
    static int _isInit;
 
    // Информация о последнем подкидывании монет:
    // (-1) - подкидываение не выполнялось; 0 - решка; 1 - орел.
    int _coin[3];
    // Общий счетчик орлов.
    int _headCount;
    // Счетчик подкидываний.
    int _spinCount;
};
 
int Coins::_isInit;
 
Coins::Coins()
{
    // Если требуется, то выполняем инициализацию
    // генератора псевдослучайных чисел
    if (!_isInit)
    {
        srand((unsigned)time(NULL));
        _isInit = 1;
    }
 
    // Исходное состояние.
    memset(_coin, -1, sizeof (int) * 3);
    _headCount = 0;
    _spinCount = 0;
}
 
void Coins::ResetResult()
{
    memset(_coin, -1, sizeof (int) * 3);
    _headCount = 0;
    _spinCount = 0;
}
 
void Coins::SpinCoins()
{
    _spinCount++;
 
    for (int i = 0; i < 3; i++)
    {
        _headCount += _coin[i] = rand() % 2;
    }
}
 
void Coins::PrintResult()
{
    // С проверкой того, что монеты подкидывались.
    if (_coin[0] == -1)
    {
        std::cout << "После инициализации или сброса результатов подкидывание монет не выполнялось\n";
    }
    else
    {
        for (int i = 0; i < 3; i++)
        {
            std::cout << "Монета " << i << ": " << (_coin[i] == 0 ? "решка" : "орел") << std::endl;
        }
        std::cout << "Всего подкидываний (по три монеты): " << _spinCount << std::endl;
        std::cout << "Всего орлов выпало: " << _headCount << std::endl;
    }
    std::cout << std::endl;
}
 
int main()
{
    setlocale (LC_ALL, ".1251");
 
    Coins coins;
    coins.PrintResult();
 
    for (int i = 0; i < 3; i++)
    {
        coins.SpinCoins();
        coins.PrintResult();
    }
 
    coins.ResetResult();
    coins.PrintResult();
 
    system("PAUSE");
    return 0;
}
Насчет генератора (псевдо)случайных чисел ничего лучше что-то не придумал
1
 Аватар для V_Ghost
9 / 9 / 1
Регистрация: 03.03.2011
Сообщений: 116
02.04.2011, 09:33  [ТС]
Спасибо.. ток чуть - чуть надо переделать)
еще у меня есть файлик Coins.cpp... в него то что писать то?)
и надо так, чтобы спрашивало: подкидивать еще раз?
Наперед очень благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2011, 09:33
Помогаю со студенческими работами здесь

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Создать класс комната, имеющая площадь. Создать класс однокомнатных квартир, двухкомнатных и т.д
Создать класс комната, имеющая площадь. Создать класс однокомнатных квартир, двухкомнатных и т.д. Помогите пожалуйста люди добрые, чем...

Создать класс - данные - абстрактный базовый класс. Создать производные классы
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

Создать абстрактный класс «Товар», на его основе создать класс «Автомобиль»
Вечер добрый, а может и не добрый. В изучении C# столкнулся с такой проблемой - как исключения. Имею такую задачу. Создать абстрактный...


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

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

Новые блоги и статьи
Шаблоны и протоколы для создания устойчивых микросервисов
ArchitectMsa 19.04.2025
Микросервисы — архитектурный подход, разбивающий сложные приложения на небольшие, независимые компоненты. Вместо монолитного гиганта, система превращается в созвездие небольших взаимодействующих. . .
Изменяемые и неизменяемые типы в Python
py-thonny 19.04.2025
Python славится своей гибкостью и интуитивной понятностью, а одна из главных его особенностей — это система типов данных. В этом языке все, включая числа, строки, функции и даже классы, является. . .
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru