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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2009, 12:33   #1
psychopat
Новичок
Джуниор
 
Регистрация: 15.02.2009
Сообщений: 1
По умолчанию Генератор случайных чисел

Привет! Мне надо исходник(или целую програму) для Генератора случайных чисел,
длина чтобы была больше 7 знаков, а количество создаваемых комбинаций более 10000!
psychopat вне форума Ответить с цитированием
Старый 15.02.2009, 12:42   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Цитата:
длина чтобы была больше 7 знаков
Больше - это сколько? В любом случае, их можно получить через Random, если длинна выше, можно скомбинировать пару Random'ов.
Но, при желании, можно и свой генератор написать.
Arigato вне форума Ответить с цитированием
Старый 15.02.2009, 13:36   #3
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Должно работать. Выдавать число больше 7 знаков.

Код:

procedure TForm1.FormCreate(Sender: TObject);
begin
 Randomize;
end;

const
 n = 8;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.text := IntToStr(Random(9) + 1);
for i := 1 to n do
Edit1.text := Edit1.text + IntToStr(Random(10));
end;
Armorer вне форума Ответить с цитированием
Старый 15.02.2009, 15:52   #4
koturga
Новичок
Джуниор
 
Регистрация: 15.02.2009
Сообщений: 1
По умолчанию

Подскажите а если нужно генерировать код, но я хочу суммировать числа двух рандом генераторов. Это нормально? Или лучше написать код под один генератор?
koturga вне форума Ответить с цитированием
Старый 15.02.2009, 16:27   #5
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Цитата:
Подскажите а если нужно генерировать код, но я хочу суммировать числа двух рандом генераторов. Это нормально? Или лучше написать код под один генератор?
Если что-то вроде такова:
R := Random(N) + Random(N1);
То я не вижу смысла использовать два вызова.
Armorer вне форума Ответить с цитированием
Старый 17.02.2009, 20:28   #6
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
...длина чтобы была больше 7 знаков...
Больше? Это сколько?
Может так:

Код:
procedure TfMain.Button1Click(Sender: TObject);
 const
        MaxValue=10000000;
 var
s:string;
i:integer;
a: array [1..10000] of integer;
begin
 
for i:=1 to 10000 do
a[i]:=Random(MaxValue);
s:='';
for i:=1 to 10000 do
s:=s+IntTostr(a[i])+',   ';
Memo1.Lines.Add(s);
end;
xor eax, eax
xchg [eax], eax

Последний раз редактировалось rpy3uH; 17.02.2009 в 20:38.
MalCer вне форума Ответить с цитированием
Старый 17.02.2009, 20:42   #7
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Поищи генератор Лемера. На основе него можешь создать свой с какими хочешь условиями.
Hollander вне форума Ответить с цитированием
Старый 17.02.2009, 21:07   #8
FANATID
Пользователь
 
Регистрация: 12.02.2009
Сообщений: 62
По умолчанию

Как бы не было, генератор не полностью случаен. И случайного впринципе быть не может. Кто не верит, проверьте, сгенерируйте 10 тысяч чисел от 1 до 100, и найдите среднее арифмитическое, оно будет около 50. Чем больше будете генерировать тем ближе к 50 будет получаться результат
FANATID вне форума Ответить с цитированием
Старый 17.02.2009, 22:48   #9
crc83
Пользователь
 
Аватар для crc83
 
Регистрация: 24.01.2009
Сообщений: 38
По умолчанию

Очень советую прочитать
Д.Кнут Искусство программирования Том 3.
Там есть все чтобы разобратся в сути вопроса
crc83 вне форума Ответить с цитированием
Старый 17.02.2009, 23:36   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Цитата:
Сообщение от FANATID Посмотреть сообщение
Как бы не было, генератор не полностью случаен. И случайного впринципе быть не может. Кто не верит, проверьте, сгенерируйте 10 тысяч чисел от 1 до 100, и найдите среднее арифмитическое, оно будет около 50. Чем больше будете генерировать тем ближе к 50 будет получаться результат
Любой генератор случайных чисел с равномерным распределением даст такой эффект. Например, если 1000 раз подбросить монету, получим, примерно, 500 орлов и 500 решек.
А генератор в компьютере вообще не является случайным. Генерируются псевдослучайные числа, которые имеют период, через который последовательность будет повторяться (период очень большой, можно не проверять).
Arigato вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
генератор случайных чисел на С++ ANTI Общие вопросы C/C++ 20 12.04.2009 13:02
Массивы и генератор случайных чисел Psyka Помощь студентам 6 31.07.2008 05:53
генератор случайных чісел Baron Помощь студентам 7 17.11.2007 00:55
Генератор случайных чисел в СМО Shoker Помощь студентам 1 13.10.2007 08:40
Свой генератор случайных чисел max4d Помощь студентам 15 03.04.2007 18:27