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

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

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

В программе про игральные кости нужно дать вес каждой грани... - C++

21.01.2012, 22:04. Просмотров 676. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста!!! В программе про игральные кости нужно дать вес каждой грани, Вес каждой грани от 0.1 до 1. Вес означает с какой вероятностью выпадет грань.
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
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
void printPoints(int pt[], const int lenght, const int val)
{
    for(int i = 0; i < lenght; i++)
        cout << setw(6) << i + 2;
    cout << endl;
    
    for( i = 0; i < lenght; i++)
        cout << setw(6) << pt[i];
    cout << endl;
    
    for( i = 0; i < lenght; i++)
        cout << setw(4) << "1/" << setw(2) << val / pt[i];
    cout << endl;
}
   
int main()
{
    const int length = 11, value = 300;
    int points[length] = {0};
    int var;
    
    srand(time(NULL));
    
    for(int i = 1; i <= value; i++)
    {
        var = 1 + rand() % 6;
        var += 1 + rand() % 6;
        points[var - 2]++;
    }
    
    printPoints(points, length, value);
    
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1743 / 1086 / 71
Регистрация: 13.09.2011
Сообщений: 3,108
21.01.2012, 22:30     В программе про игральные кости нужно дать вес каждой грани... #2
При равновероятном выпадении вес будет 1 / число_граней. //код не читал
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.01.2012, 22:36  [ТС]     В программе про игральные кости нужно дать вес каждой грани... #3
Да нет то что он будет 1/6 то понятно только вот в программе пользователь должен вводить вес граней
NoMasters
Псевдослучайный
1743 / 1086 / 71
Регистрация: 13.09.2011
Сообщений: 3,108
21.01.2012, 22:43     В программе про игральные кости нужно дать вес каждой грани... #4
То есть пользователь определяет вероятность выпадения? Что такое эмпирическая функция распределения знаешь? Каждому следующему значению соответствует сумма его веса и такой же суммы для предыдущего значения, берешь случайное значение от нуля до суммы весов, смотришь, в какой промежуток попало.
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.01.2012, 22:50  [ТС]     В программе про игральные кости нужно дать вес каждой грани... #5
Чёт воще ничего не понял. Вот программа должна запрашивать введите вес граней 1 2 3 4 5 6 вот.... И например пользователь вводит 0.1.... 0.3.... 0.2.... 0.1... 0.1...0.2 . Вот... Тоесть 1 выпадет с вероятностью 0.1, 2 с вероятностью 0.3...... и т.д.
NoMasters
Псевдослучайный
1743 / 1086 / 71
Регистрация: 13.09.2011
Сообщений: 3,108
21.01.2012, 23:01     В программе про игральные кости нужно дать вес каждой грани... #6
Получим эмпирический ряд 1 => 0.1, 2 => 0.4, 3 => 0.6 и так далее. Берем случайное значение от нуля до суммарного веса, смотрим в какой промежуток попало: если от нуля но 0.1, то выпала единица, если от 0.1 до 0.4, то 2, ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2012, 23:04     В программе про игральные кости нужно дать вес каждой грани...
Еще ссылки по теме:

C++ Что нужно знать про STL?
Нужно написать комментарии к программе C++
C++ Нужно найти удельный вес твердого тела(любого): указывается название твердого тела, его удельный вес
C++ Задача про поклейку обоев: сколько нужно рулонов?
Игральные кости C++

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

Или воспользуйтесь поиском по форуму:
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
21.01.2012, 23:04  [ТС]     В программе про игральные кости нужно дать вес каждой грани... #7
Ничё не понял,!!!
Yandex
Объявления
21.01.2012, 23:04     В программе про игральные кости нужно дать вес каждой грани...
Ответ Создать тему
Опции темы

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