Форум программистов, компьютерный форум, киберфорум
Наши страницы

Задача с rand() в Dev C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно доделать консольное приложение http://www.cyberforum.ru/cpp-beginners/thread963165.html
Здравствуйте, нужно доделать программу C++ (консольное приложение) нужно в case 3 и 4 написать циклы. в 3 if или if else, а в 4 while, do while, for (све поочереди) 3- Даны целые числа n, m, k и...
C++ что делает эта программа распишите пожалуйста? это ведь метод прогонки? что делает эта программа распишите пожалуйста? это ведь метод прогонки? #include <cstdio> #include <math.h> #include <iostream> using namespace std; int n,i; double... http://www.cyberforum.ru/cpp-beginners/thread963163.html
что делает эта программа. Метод стрельбы вроде.. C++
что делает эта программа. Метод стрельбы вроде..Ничего не понимаю (( распишите(( пожалуйста #include <cstdio> #include <math.h> #include <iostream> using namespace std; int n,i,k; double...
C++ Запомнить последовательность чисел в объекте целого типа
Такой вопрос. У меня есть последовательность чисел. Необходимо закодировать ее в один объект целого типа (на бинарном уровне), а после, при необходимости, ее от туда извлечь. Как это сделать?...
C++ Изучение С++ (переходы с консолей на винапи) http://www.cyberforum.ru/cpp-beginners/thread963143.html
Всем привет. Давно не делал темы. Вообщем увлекся я самп, начал читерить (с СМ :D), там везде пишут про собейты, мол их писали на С++, разные функции, вот и мне моча в голову стукнула начать учить...
C++ Квадратный корень и квадрат числа помогите решить) Дано три положительных действительных числа. Для каждого числа найти корень квадратный, если дробная часть меньше 5, в противном случае найти квадрат данного числа. подробнее

Показать сообщение отдельно
BuBlicK.SQP
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 21

Задача с rand() в Dev C++ - C++

26.09.2013, 20:27. Просмотров 517. Ответов 0
Метки (Все метки)

Всем привет.
Есть задача по теории вероятности. Условие:
Есть 100 урн. В них произвольно, по одному бросаются шары. Найти вероятность, что при наличии хотя бы 2 шаров в 20 урнах, существует хотябы 5 пустых урн.

Задачу разбил на куски. Осознал. Кажется проблема только с rand() функцией. У меня вероятность 100% выходит и опыт почти всегда успешен. Что-то с неправильным использованием rand() или алгоритмом?

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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int custom_random(int number){
    while (number>99){//Если сгенерированое число больше 99
        number=(int)(number/15); //Уменьшаем это число в 15 раз
    }   
}
 
int experiance(){
     int array[99], n;
     int full=0, empty=100; //В начале все урны пустые и нет полных
     for (int i=0; i<100; i++)array[i]=0;
     while (full<=20){ //Если ещё нет 20 полных - продалжаем кидать шары
         n=custom_random(rand()); //Через рандом, произвольно выбираем в какую урну бросить шар
         array[n]++; //Увеличиваем число шаров в урне    
         if (array[n]==1) empty--; //Отмечаем сколько пустых
         if (array[n]==2) full++; //Отмечаем сколько полных
     }
     if (empty>=5) return 1;
     else return 0;
}
 
int main(){
     int i, event_was;
     float probability = 0.0;    //Обнуляем вероятность
     event_was = 0; //Обнуляем число удачных опытов
     for (i=0; i<1000; i++){
         if ( experiance() ){//Если опыт удался
           event_was++; //Увеличиваем счетчик удачных опытов      
         }   
     }
     printf ("\nEvent was succesed %i amounts",event_was);
     probability=(float) event_was/1000;     
     
     printf("\nThe probability of exp. is: %f%%", probability); 
     getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.