powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Простой алгорим, C#
3 сообщений из 3, страница 1 из 1
Простой алгорим, C#
    #38245858
Evgeniy_Aleksandrovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, такая проблема: в приведенном ниже алгоритме должно при вызове Bi(0.5, 10) получиться какое-либо число от 0 до 10 (бином. распределение, где p - вероятность). Но я почему-то всегда получаю либо 10 либо 0 !

P.S. Но зато если раскомментировать закомменч. строку, т.е. будет при запуске вывод каждого сгенеренного числа - то алгоритм сработает правильно.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 public int Be(double p)
        {
            double x1 = new Random().NextDouble();
            //System.Windows.Forms.MessageBox.Show(Convert.ToString(x1));
            if (x1 < p)
                return 1;
            else
                return 0;
            
        }
        public int Bi(double p, int N)
        {
            int y = 0;
            for (int i = 0; i < N; i++)
                y = y + Be(p);
            return y;
        }
...
Рейтинг: 0 / 0
Простой алгорим, C#
    #38245886
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evgeniy_Aleksandrovich, сохрани экземпляр Random() в поле класс и используй его повторно:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private Random _rnd = new Random();

public int Be(double p)
{
	return _rnd.NextDouble() < p ? 1 : 0;
}

public int Bi(double p, int N)
{
	int y = 0;
	for (int i = 0; i < N; i++)
	{
		y += + Be(p);
	}
	return y;
}
...
Рейтинг: 0 / 0
Простой алгорим, C#
    #38245922
Evgeniy_Aleksandrovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Простой алгорим, C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]