![]() |
|
Модераторы: bsa |
![]()
|
|
| MILEDI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
Здравствуйте!
Пожалуйста, кто-нибудь помагите решить задачу, очень надо для дипломной работы! Заранее всех благодарю за помощь!!! Задача состоит в том, что бы найти вероятность совпадения хотя бы 2-х дней рождений в группе студентов из 25 человек. Модель задачи заключается в следующем необходимо присвоить какому-нибудь счетчику 0, для дальнейшего сохранения в нём результатов опыта. Вызывать функцию для выдачи 25-ти случайных чисел, потом распределить их по возвростанию и проверять на совпадения. Если совпадения имеются, прекратить проверять и в счетчике записывается еденица. И проводится следующий опыт, если совпадений не оказалось, то счетчику добавляется ноль. И так несколько опытов. Потом результаты опытов делятся на общее количество опытов и получается искомая вероятность. Пожалуйста помогите написать эту задачу на языке C++... |
|||
|
||||
| A5uKa |
|
||||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
То что вы написали - легко
А вообще вам надо думать ближе к математическому решению |
||||
|
|||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
|
|||
|
||||
| A5uKa |
|
|||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
а можно вот тут подробнее ...
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
что именно подробнее? #include - препроцессорная директива, используется для того чтобы добавить содержание указанного файла в файл в котором инклуд был написан. В стандартной библиотеке С++ есть некоторое количество заголовочных файлов которые вы можете лицезреть в приведенном коде. Конкретно
|
|||
|
||||
| MILEDI |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
Спасибо огромное за помощь!!! А можно ли как-нибудь упростить вот эту часть программы:
Например, на подобии вот этого:
Извините, не очень разбираюсь в C++, но надеюсь смысол понятен... |
||||
|
|||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Если проверять каждый следующий элемент и хранить в обыкновенном массиве, придется его сортировать. 1. set автоматически сортирует свои элементы 2. так проще.. set хранит уникальные элементы, а значит при попытке добавить в него значение, которое там уже есть - он вернет false
посмотрим подробнее as.insert( rand() % upto ) добавляем в set новое, случайно сгенерированное значение он возвращает pair (структуру) вторым членом (second) которой является bool в котором записано значение true если вставка удалась и false соответственно если не удалась. Потому проверяем, если не удалась значит - повторение. Если что непонятно спрашивайте. MILEDI можно убрать set и использовать обыкновенный массив, но код будет еще непонятнее И если все таки нужно через обыкновенные массивы - скажите максимальное число которое будем генерировать что я знал какой алгоритм выбрать. Это сообщение отредактировал(а) azesmcar - 8.5.2009, 19:32 |
|||
|
||||
| MILEDI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
Очень вам благодарна за такое подробное объяснение!
Но, у меня опять возникли вопросы. Вот при такой проверке на повторение, если есть одно совпадение, то в trep записывается 1, но проверка же продолжается и если есть еще совпадения, то снова добавляется еденица? Например, при таких случайно выбранных днях 1 4 ... 4 6 6 4. Или нет? И еще эти 25 дня рождения случайным образов выбираются из 365 дней в году. Это просто можно заменить лимит для случайно сгенерированного числа, да? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
MILEDI,
У меня в решении я считаю количество повторений, так как вы написали будет
изменений немного |
|||
|
||||
| MILEDI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
Здравствуйте, подскажите пожалуйста, в какой версии программы можно запустить эту задачу? Просто некоторые компиляторы не поддерживают некоторых заголовков и выдают сообщения об ошибках.
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
| MILEDI |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
Я пробовала в Borland C++ Compiler 5.5.1, можно ли воспользоватся Borland C++ Builder v6.0 или там нужны какие-нибудь изменения?
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
MILEDI
попробуйте заменить заголовочные файлы на эти
В Borland C++ Builder v6.0 будет работать, насчет 5.5.1 не уверен. Это сообщение отредактировал(а) azesmcar - 8.6.2009, 21:40 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |