![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Как правильно задать диапазон генерации случайных чисел |
|
C/C++ - Как правильно задать диапазон генерации случайных чисел
|
![]() Новый участник Сообщения: 3 |
Подскажите пожалуйста как из массива e[6]={0.7,1,1.2,1.6,2.1,2.2} с помощью функции rand() выбрать случайно только одно значение?
пробовала вот так: E1=rand()%e[6]; а оно пишет: Illegal use of floating point. что делать, подскажите!!!!!!! Очень срочно надо!!! |
|
Отправлено: 13:38, 03-07-2010 |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать perfomanse, не знаю, насколько корректным будет мое решение, но все же:выбрать случайно число от 0 к 5(индексы элементов массива), и по индексу получить сам элемент.
|
------- Отправлено: 14:37, 03-07-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать perfomanse, функция rand(100) дает случайные значения от 0 до 99.
Т.о. для получения значения от 1 до 6 надо писать rand()%6+1 E1=e[rand()%6+1] P.S. работоспособность не проверял. |
------- Отправлено: 14:54, 03-07-2010 | #3 |
![]() Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать Есть функция int random(int n), которая возвращает псевдослучайное число большее или равное 0 и меньшее или равное n-1 (имеется не во всех реализациях)
E1=e[random(6)]; |
------- Отправлено: 19:01, 03-07-2010 | #4 |
![]() Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать спасибо! сейчас попробую)
Declaration terminated incorrectly во всех двух случаях! |
|
Отправлено: 19:06, 03-07-2010 | #5 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата perfomanse:
#include <iostream.h> #include <ctime> #include <conio.h> void main() { float e[6] = {0.7, 1, 1.2, 1.6, 2.1, 2.2}; srand(time(0)); int E1 = rand() % 5; cout<<"Random e["<<E1<<"] = "<<e[E1]<<endl<<endl; for(int i = 0; i < 6; i++) cout<<"array["<<i<<"] = "<<e[i]<<endl; getch(); } //--------------------------------------------------------------------------- |
|
------- Последний раз редактировалось Drongo, 03-07-2010 в 22:14. Причина: Исправлен выход за диапазон границы массива... Отправлено: 20:21, 03-07-2010 | #6 |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать perfomanse, пример Drongo работает без проблем. Declaration terminated incorrectly-возможно вы неправильно что нибудь объявляете? Кусок кода был бы не лишним.
|
------- Отправлено: 22:10, 03-07-2010 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - как определить какой диапазон ip в сети ? | mitiya | Сетевые технологии | 5 | 16-12-2009 20:04 | |
C/C++ - Как правильно задать тип данных в массиве | ShadowMas | Программирование и базы данных | 4 | 18-04-2009 22:26 | |
Как увеличить диапазон адресов в DHCP? | Levin | Microsoft Windows NT/2000/2003 | 2 | 21-10-2008 15:35 | |
Генератор случайных чисел | Murrey | Хочу все знать | 3 | 22-08-2006 13:00 | |
Как изменить диапазон частот FM приёмника сот. телефона K750i ? | Zhenia | Мобильные ОС, смартфоны и планшеты | 3 | 10-08-2006 12:36 |
|