Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Boris рандомайз кто будет делать? под этим подразумевается вызов функции инициализации генератора случ. чисел
в сях правильная программа будет выглядет вроде
Код:
/* RAND.C: This program seeds the random-number generator * with the time, then displays 10 random integers. */
/* Seed the random-number generator with current time so that * the numbers will be different every time we run. */ srand( (unsigned)time( NULL ) );
/* Display 10 numbers. */ for( i = 0; i < 10;i++ ) printf( " %6d ", rand() ); }
взято из МСДН
Добавлено спустя 4 минуты, 12 секунд: PS:
Цитата:
i=(randm(2)-1);
в таком случае randm возвращает только 0 и 1. Нуль и единица после вычитания из них единицы дают -1 и 0 соответственно. Способ хороший, но имеет недостаток: 0%0-1=0-1=-1, т.е. ноль получается отрицательным, хотя он 'никакой'
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Member
Статус: Не в сети Регистрация: 08.03.2004 Откуда: Москва
Root писал(а):
Цитата: i=(randm(2)-1);
в таком случае randm возвращает только 0 и 1. Нуль и единица после вычитания из них единицы дают -1 и 0 соответственно. Способ хороший, но имеет недостаток: 0%0-1=0-1=-1, т.е. ноль получается отрицательным, хотя он 'никакой'
это с чего вдруг? округление чтоль автоматом? Если рендом от 2, то он должен по идее вернуть что угодно 0:2, если больше 1 то + если меньше, то -
_________________ Software is like a sex, it is better when it is free
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Boris это установка ГСЧ Чтобы значения всегда были разными. Если ее не вызывать, то значения, выдаваемые рандомом будут одинаковыми...
Под Борланд Си - randomize
BaBL
Цитата:
randSee Also Floating-Point Support Routines | srand Requirements Routine Required header Compatibility rand <stdlib.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
For additional compatibility information, see Compatibility in the Introduction.
Libraries
All versions of the C run-time libraries. Generates a pseudorandom number.
int rand( void ); Return Value rand returns a pseudorandom number, as described above. There is no error return.
Remarks The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. Use the srand function to seed the pseudorandom-number generator before calling rand.
усе ясно?
Цитата:
это с чего вдруг? округление чтоль автоматом? Если рендом от 2, то он должен по идее вернуть что угодно 0:2, если больше 1 то + если меньше, то -
% = остаток от деления. x%2 дает либо 0, либо 1. По крайней мере при неотрицательном x
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения