Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Delphi

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 09.01.2009, 16:32   #1
Неактивный пользователь
 
Аватар для lexus3004
 
Пол:Мужской
Регистрация: 25.12.2007
Сообщений: 37
Репутация: 2
По умолчанию не работает ген.случ.чисел

Доброго времени суток!
Мне нужно создать генератор случайных чисел. Исходник я нашел, но вот проблема он не работает. Может ктонибудь сможет помоч. Привожу исходник:

код
Спасибо!
__________________
Лучше колымить в гондурасе, чем гондурасить на колыме

Последний раз редактировалось pluton; 09.01.2009 в 17:38.. Причина: добавил тег
lexus3004 вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама:


Старый 10.01.2009, 01:19   #2
Vasuha
Постоялец
 
Пол:Мужской
Регистрация: 13.03.2008
Адрес: Минск
Сообщений: 257
Репутация: 231
По умолчанию Re: не работает ген.случ.чисел

Что значит не работает? Ошибку в студию....

s[i]:=Random (MaxValue); - что это??????
Vasuha вне форума
 
Ответить с цитированием Вверх
Старый 10.01.2009, 17:51   #3
lexus3004
Неактивный пользователь
 
Аватар для lexus3004
 
Пол:Мужской
Регистрация: 25.12.2007
Сообщений: 37
Репутация: 2
По умолчанию Re: не работает ген.случ.чисел

Ошибку нашел было лишним: BEGIN стоящее перед CONST.
Кстати не s[i]:=Random (MaxValue);, а a[i]:=Random (MaxValue);
Всем спасибо, полагаю тема закрыта.
__________________
Лучше колымить в гондурасе, чем гондурасить на колыме
lexus3004 вне форума
 
Ответить с цитированием Вверх
Старый 12.01.2009, 14:44   #4
Hardman75
Неактивный пользователь
 
Регистрация: 20.10.2008
Сообщений: 6
Репутация: 0
По умолчанию Re: не работает ген.случ.чисел

Цитата:
Сообщение от lexus3004 Посмотреть сообщение
Всем спасибо, полагаю тема закрыта.

Если еще интересно то такой генератор постоянно будет повторять одни и те же случайные числа.
Hardman75 вне форума
 
Ответить с цитированием Вверх
Старый 15.01.2009, 17:08   #5
ELEA
Неактивный пользователь
 
Регистрация: 15.01.2009
Адрес: Краснодар
Сообщений: 2
Репутация: 0
По умолчанию Re: не работает ген.случ.чисел

То что вы обсудили - не исходник, а комманда!
Исходник подлиннее будет
ELEA вне форума
 
Ответить с цитированием Вверх
Старый 16.01.2009, 15:16   #6
l_e_v
Неактивный пользователь
 
Регистрация: 16.01.2009
Сообщений: 3
Репутация: 0
По умолчанию Re: не работает ген.случ.чисел

а кто будет использовать randomize перед вызовом random
l_e_v вне форума
 
Ответить с цитированием Вверх
Старый 05.02.2009, 23:25   #7
n4trojan
Неактивный пользователь
 
Аватар для n4trojan
 
Регистрация: 02.03.2008
Сообщений: 4
Репутация: 1
По умолчанию Re: не работает ген.случ.чисел

//заполним случайными числами от 0 до MaxValue массив a
Randomize;
for i:= 1 to 100 do
a[i]:=Random (MaxValue);
//данные из массива добавляем сначала в строковую переменную, затем в Memo

Исправь...
__________________
Лучше устранить причину, чем постоянно заглушать следствие ©n4r.c0m
n4trojan вне форума
 
Ответить с цитированием Вверх
Старый 10.02.2009, 11:46   #8
kermy
Новичок
 
Пол:Мужской
Регистрация: 10.08.2007
Сообщений: 23
Репутация: 15
По умолчанию Re: не работает ген.случ.чисел

без вот этого
Randomize
перед вот этим
a[i]:=Random (MaxValue);
у тебя весь массив заполнится случайным числом но одним и тем же, вот так))
kermy вне форума
 
Ответить с цитированием Вверх
Старый 16.02.2009, 00:20   #9
hack
Старожил
 
Аватар для hack
 
Пол:Мужской
Регистрация: 27.05.2005
Адрес: Тверь (Первомайка)
Сообщений: 1,929
Репутация: 3260
Exclamation Re: не работает ген.случ.чисел

Господа здравствуйте!
Время уже позднее, сижу туплю по полной. Помогите решить поблему - нужно сгенерировать 60 чисел в диапазоне от 70 до 80 с условием, что каждое число не должно отличаться от предыдущего и последующего не более, чем на 3 (например - 73, 71, 71, 70 ... 73, 72, 75, 74, 74). Числа повторяться могут.Ничего умнее придумать не могу:
Код:
procedure TForm1.Button2Click( Sender : TObject );
var
  i, int, int1 : integer;
  s : string;
begin
  Randomize( );
  Memo1.Clear;
  int1:= RandomRange(73, 77);
  //ShowMessage(IntToStr(int1));
  for i := 1 to 60 do
    begin
      int := int1 + Random( 2 );
      Memo1.Lines.Add( IntToStr( i ) + '  |  ' + IntToStr( int ) );
      int := int1 - Random( 2 );
      Memo1.Lines.Add( IntToStr( i ) + '  |  ' + IntToStr( int ) );
    end;
end;
Но что то не нравится мне этот подход, коряво как то.
__________________
У победы много отцов, поражение всегда сирота.

Последний раз редактировалось hack; 16.02.2009 в 14:57..
hack вне форума
 
Ответить с цитированием Вверх
Старый 18.02.2009, 17:19   #10
Keramp
Неактивный пользователь
 
Регистрация: 18.02.2009
Сообщений: 3
Репутация: 0
По умолчанию Re: не работает ген.случ.чисел

Цитата:
Сообщение от hack Посмотреть сообщение
Но что то не нравится мне этот подход, коряво как то.

А не логичнее ли было перезадавать RandomRange заново на каждой итерации?
Keramp вне форума
 
Ответить с цитированием Вверх
Старый 27.02.2009, 13:44   #11
nanomyte
Пользователь
 
Пол:Мужской
Регистрация: 28.10.2008
Сообщений: 42
Репутация: 2
По умолчанию Re: не работает ген.случ.чисел

что-то вроде int:=RandomRange(max(70,int-3),min(80,int+3));
nanomyte вне форума
 
Ответить с цитированием Вверх
Старый 27.02.2009, 14:08   #12
hack
Старожил
 
Аватар для hack
 
Пол:Мужской
Регистрация: 27.05.2005
Адрес: Тверь (Первомайка)
Сообщений: 1,929
Репутация: 3260
По умолчанию Re: не работает ген.случ.чисел

Да вроде уже все получилось - со знакомым посидели - сваяли функцию:
Код:
var
   Form1: TForm1;
   Res : array[1..60] of integer;

function TForm1.Randomiz( minD, maxD : integer ) : integer;
var
  i, int, int1, tmp : integer;
  x : byte;
begin
  FillChar(Res, SizeOf(Res), 0);
  int1 := RandomRange(70, 80 );
  for i := 1 to 60 do
  begin
    x := Random( 2 );
    tmp:=RandomRange( 1, 3 );
    if x = 0 then
    begin
      int := int1 + tmp;
      if int > 80 then int := int1 - tmp;
    end
    else
    begin
      int := int1 - tmp;
      if int < 70 then int := int1 + tmp;
    end;
    Res[i] := int;
    int1:=int;
    if i > 1 then
      if (Res[i-1] - Res[i]) > abs(3) then
   end;
end;

   Randomiz( 70, 80 );
   SetTextToTable(2,2,5,IntToStr( res[1] ));
__________________
У победы много отцов, поражение всегда сирота.
hack вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Магия чисел, верите или нет?... mimi Интересное о разном 30 15.05.2011 18:35
прогнозирование случ последовательностей ghjk Visual C++ / С/C++ 3 05.06.2010 10:00
программа по вычислению последовательности чисел crystalcat Visual C++ / С/C++ 1 03.11.2009 20:52
Генератор случайных чисел necboss Скорая помощь 3 09.04.2009 19:55
Нормальное отображение многоразрядных чисел sns Вeб Дизайн 0 15.02.2009 13:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:04. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.07001 секунды с 11 запросами