akaGM
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору сразу вижу ошибку в первой же строке int x[250]; for(n=1; n <= 250;n++)x[n]=(a*x[n-1]+c)%m; дальше давай сам... и со всеми задачами на С/С++ сюда: http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=4338&glp Добавлено: у тебя период больше 250... попробуй так: Код: #include <iostream> #include <windows.h> using namespace std; #define N 2500 int main() { int i, n; int a = 71; int m = 251; int c = 71; int p = 0; int x[N]; x[0] = 5; for (n = 1; n < N; n++) x[n] = (a*x[n-1] + c) % m; cout << "Последовательность псевдослучайных чисел: " << endl; for (n = 0; n < N; n++) cout << x[n] << endl; cout << endl; p = 1; for (n = 1; n < N; n++) { if (x[n] == x[0]) break; else p++; } cout << endl << "Элементов в периоде: " << p << endl; return 0; }//main | Добавлено: а, кстати, вот этими двумя циклами ты рисуешь херню, т.е. _всегда_ первые 11 значений и так 24 раза... for(n=1;n<25;n++) for(i=0;i<=10;i++)cout<<x[i]<<", "; | Всего записей: 24055 | Зарегистр. 06-12-2002 | Отправлено: 23:57 14-04-2019 | Исправлено: akaGM, 00:51 15-04-2019 |
|