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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2011, 19:27   #1
HelenSecuriter
Пользователь
 
Аватар для HelenSecuriter
 
Регистрация: 19.10.2010
Сообщений: 17
По умолчанию как получить случайное число до 1 млн

Добрый день!!!

Скажите, как получить случайное число до 1000000, а то функция rand() возвращает только до 32000.
HelenSecuriter вне форума Ответить с цитированием
Старый 25.06.2011, 19:33   #2
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Математикой... Получать значение с плавающей запятой и умножать потом.
Spawn™Production® вне форума Ответить с цитированием
Старый 25.06.2011, 19:41   #3
HelenSecuriter
Пользователь
 
Аватар для HelenSecuriter
 
Регистрация: 19.10.2010
Сообщений: 17
По умолчанию

А функции никакой нет?? а то так ведь нерационально, я понимаю, что можно написать
Код:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main(){
srand(time(NULL));
long l=rand()*rand()*rand();//нерационально!
cout << l;
system("pause");
}
HelenSecuriter вне форума Ответить с цитированием
Старый 25.06.2011, 20:11   #4
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Нет никакой функции, разве что самописные.
Вам до 1 млн. надо, дяде Ване до 1 млрд, а кому-нибудь и до 34895734546238 подавай...
Spawn™Production® вне форума Ответить с цитированием
Старый 25.06.2011, 20:12   #5
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Классически так:
Код:
int upbnd = 1000000;
int lowbnd = 0;
srand(GetTickCount());
int result = (double)rand() / (0x7FFF + 1) * (upbnd - lowbnd) + lowbnd;
EUGY вне форума Ответить с цитированием
Старый 26.06.2011, 00:05   #6
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

А у Вас какой компилятор? У меня rand() как и положено возвращает значение от 0 до 2-с-чем-то милиарда.
Вообще так
Код:
rand()%1000000
Будет число от 0 до 999999
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 26.06.2011, 00:28   #7
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
rand() как и положено возвращает значение
Максимум которого определен в stdlib.h #define RAND_MAX 0x7fff
EUGY вне форума Ответить с цитированием
Старый 26.06.2011, 00:49   #8
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

А, вот оно что, не знал.
А передефайнить не прокатит?

Код:
#include <stdlib.h>
#define RAND_MAX 1000000
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 26.06.2011, 00:56   #9
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Неа...
rand.c
Код:
int __cdecl rand (
        void
        )
{
        _ptiddata ptd = _getptd();

        return( ((ptd->_holdrand = ptd->_holdrand * 214013L
            + 2531011L) >> 16) & 0x7fff ); 
}
EUGY вне форума Ответить с цитированием
Старый 26.06.2011, 16:04   #10
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Код:
(double)rand()/RAND_MAX*1000000.0
Как-то так.

А где это такой RAND_MAX странный?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайное число mactepmac Общие вопросы Delphi 5 22.06.2011 09:58
Случайное число rommster Общие вопросы C/C++ 13 09.10.2010 15:11
Как генирируеться случайное число? Altera Общие вопросы Delphi 8 20.04.2008 18:20
Случайное число Altera Общие вопросы Delphi 4 05.02.2008 22:22
Как згенерировать случайное число SeRhy Помощь студентам 2 25.11.2007 20:27