IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Функция с рандомом выдает одни и те же числа((
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 52

Репутация: -  0  +


Народ помогите функция глючит... выдает каждый раз одни и те же числа...
фот сама:

Код
function shot: longint;
var i,p:integer;
   t,tmp,uron:real;
   s,a,b,c:^integer;
 begin
 a:=0;
 b:=0;
 c:=0;
 p:=0;
 getmem(s,100);
 getmem(a,2);
 getmem(b,2);
 getmem(c,2);
   for i:= 1 to 40 do
     begin
     p:=random(3);
     case p of
       1: a^:=a^+random(10);
       2: b^:=b^+random(30);
       3: c^:=c^+random(15);
     end;
     s^:=3*a^+2*b^+c^;
     shot:=trunc(0.7*s^);
     p:=0;
 end;
 freemem(s,100);
 freemem(a,2);
 freemem(b,2);
 freemem(c,2);
end;


???

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 25

Репутация: -  0  +


Плохо читал "Delphi для чайников" ;D ;)
Подчти во всех языках программирования перед "random" надо использовать функцию randomize; (PS желательно в начале каждой подпрограммы, которая имеет рандомы)
Короче держи свой код:
Код
function shot: longint;
var i,p:integer;
   t,tmp,uron:real;
   s,a,b,c:^integer;
 begin
//------------------
 Randomize;
//----------------
 a:=0;
 b:=0;
 c:=0;
 p:=0;
 getmem(s,100);
 getmem(a,2);
 getmem(b,2);
 getmem(c,2);
   for i:= 1 to 40 do
begin
p:=random(3);
case p of
  1: a^:=a^+random(10);
  2: b^:=b^+random(30);
  3: c^:=c^+random(15);
end;
s^:=3*a^+2*b^+c^;
shot:=trunc(0.7*s^);
p:=0;
 end;
 freemem(s,100);
 freemem(a,2);
 freemem(b,2);
 freemem(c,2);
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 25

Репутация: -  0  +


и вообще этому сообщению, к сожалению, здесь ни место  :(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 25

Репутация: -  0  +


Извините ребята не туда передвинул... хотел в "Вопросы и ответы" для Паскаля, а получилось, то что получилось >:( sad.gif >:( ???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 52

Репутация: -  0  +


а чего ты его сюда закинул??? Тут же асм??
А на счет randomize - я смотрю она мне ошибку не выдает  ну и подумал что так работает в дельфи)))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 20.11.2017 20:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"