Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2019, 14:44   #1
StillPhelix
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 35
По умолчанию Генератор псевдослучайных чисел Лемера

Это код генератора псевдослучайных чисел Лемера. Нужно пдсчитать все числа в периоде. Но программа считает все числа в массиве, вместотого, чтобы посчитать только те, которые входят в период.
Код:
#include <iostream>
#include <malloc.h>
#include <windows.h>
#include <iomanip>

using namespace std;
int main()
{
	int t;
	int n;
	int i;
	int a=71;
	int m=251;
	int c=71;
	int p=0;
	int zero=0;
	int one=0;
	int x[250];
	x[0]=5;
	int count=0;
	int *bin;

	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	for(n=1;n<=250;n++)x[n]=(a*x[n-1]+c)%m;
	cout<<"Последовательность псевдослучайных чисел: "<<endl;
	for(n=1;n<25;n++)
		for(i=0;i<=10;i++)cout<<x[i]<<", ";
	cout<<endl;
	for (n=0;n<250;n++)
	{
		if(x[n]!=x[0]||n==0)p++;
		if(x[n]==x[0]&&n!=0)break;
		//else p++;
	}
	cout<<"Элементов в периоде: "<<p<<endl;
	return 0;
}
StillPhelix вне форума Ответить с цитированием
Старый 14.04.2019, 20:09   #2
StillPhelix
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 35
По умолчанию

У меня стоит Visual Studio 2010. Неправильные результаты почему-то даёт последний цикл for
StillPhelix вне форума Ответить с цитированием
Старый 15.04.2019, 16:36   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от StillPhelix Посмотреть сообщение
Код:
...
	int x[250];
	for(n=1;n<=250;n++)x[n]=(a*x[n-1]+c)%m;
выход за пределы диапазона массива.


Цитата:
Сообщение от StillPhelix Посмотреть сообщение
в период.
описать как именно этот самый период должен задаваться - конечно не обязательно?

нахер надо.
тут же телепаты собрались.
сами как ни будь догадаются.
_Bers вне форума Ответить с цитированием
Старый 15.04.2019, 16:58   #4
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Телепаты водятся на www.gamedev.ru.
taras-proger77 вне форума Ответить с цитированием
Старый 15.04.2019, 20:19   #5
StillPhelix
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 35
По умолчанию

Разобрался. Ошибка была в выводе массива на консоль.
StillPhelix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генератор псевдослучайных чисел Veryn4ik1993 Помощь студентам 2 02.12.2013 00:49
Генератор псевдослучайных чисел Veryn4ik1993 Паскаль, Turbo Pascal, PascalABC.NET 9 24.11.2013 23:33
конгруэнтный генератор псевдослучайных чисел cvbcvb Помощь студентам 0 10.05.2010 00:16
генератор псевдослучайных чисел duff Паскаль, Turbo Pascal, PascalABC.NET 18 27.04.2010 23:59
Генератор псевдослучайных чисел Max- Помощь студентам 12 21.05.2009 21:06