Форум программистов, компьютерный форум CyberForum.ru

Как присвоить переменной рандомное число в диапазоне 000000 до 999999 - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
13.07.2013, 19:47     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #1
Как присвоить переменной предположим А рандомное число в диапазоне 000000 до 999999 , не 0 - 999999 а 000000-999999
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.07.2013, 19:53     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #2
андрюха53,
000000
Это не является числом ни разу (точнее это эквивалетно 0).
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
13.07.2013, 19:56  [ТС]     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #3
Цитата Сообщение от ForEveR Посмотреть сообщение
Это не является числом ни разу (точнее это эквивалетно 0).
Ладно а в таком диапазоне 111111 - 999999

Добавлено через 1 минуту
Просто пишу программу от ботов вводишь свой майл приходит письмо с этим числом и в программу его надо ввести для продолжения уже со всем разобрался а вот как диапазон задать немогу
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.07.2013, 19:57     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #4
андрюха53,
C++
1
111111 + (rand() % 999999) + 1
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.07.2013, 19:59     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #5
Цитата Сообщение от ForEveR Посмотреть сообщение
111111 + (rand() % 999999)
111111 + (rand() % 888889)
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 20:00     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #6
Цитата Сообщение от андрюха53 Посмотреть сообщение
Как присвоить переменной предположим А рандомное число в диапазоне 000000 до 999999 , не 0 - 999999 а 000000-999999
в виде строки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdlib>
#include <ctime>
const int N = 6;
int main()
{
   char s[N + 1];
   int i;
   srand(time(NULL));
   for(i = 0; i < N; ++i)
      s[i] = '0' + rand() % 10;
   s[N] = '\0';
   std::cout << s;   
   return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.07.2013, 20:00     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #7
Kuzia domovenok, Согласен, да. Имелось ввиду

C++
1
1 + (rand() % 999999)

Не по теме:


Надо завязывать пить пиво, а потом сидеть на форуме.

андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
13.07.2013, 20:01  [ТС]     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #8
Спасибо но каждый раз выводит одно число 111153 Почему
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.07.2013, 20:02     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #9
не говори ерунду. Thinker, же написал всё тебе
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
13.07.2013, 20:04  [ТС]     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #10
Кароче спасибо всем я сам мудрил просто не выспавшийся мозг неробит
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.07.2013, 20:05     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #11
Thinker, Можно и по С++-снее если в виде строки.
C++
1
2
3
4
5
6
7
    srand(std::time(0));
    std::string value;
    std::stringstream ss;
    ss << std::setw(6) << std::setfill('0') << 1 + (rand() % 999999);
    value = ss.str();
    std::cout << value << std::endl;
    std::cin.get();
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 20:08     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #12
Цитата Сообщение от ForEveR Посмотреть сообщение
Можно и по С++-снее если в виде строки

Не по теме:

у Вас интереснее, но раз у ТС возник такой вопрос, то старался полегче)

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,890
Записей в блоге: 2
Завершенные тесты: 1
13.07.2013, 20:08     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #13
rand()%999999?
А как же RAND_MAX?
ForEveR
13.07.2013, 20:10
  #14

Не по теме:

Croessmah, %RAND_MAX - 999999 логичнее. Просто давно я не общался с сишным rand =(

Croessmah
13.07.2013, 20:14
  #15

Не по теме:

Цитата Сообщение от ForEveR Посмотреть сообщение
Croessmah, %RAND_MAX - 999999 логичнее.
Не понял, но просто число 999998 мы не получим никогда

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 20:15     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #16
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


Не понял, но просто число 999998 мы не получим никогда

вы правы
rand() % 1000000
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.07.2013, 20:15     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #17
Croessmah, RAND_MAX то для float/double используется в основном... Можно так.
C++
1
rand() % (999999 - 1) + 1;
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,890
Записей в блоге: 2
Завершенные тесты: 1
13.07.2013, 20:18     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #18
Цитата Сообщение от Thinker Посмотреть сообщение
rand() % 1000000
А разница?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 20:46     Как присвоить переменной рандомное число в диапазоне 000000 до 999999 #19
Цитата Сообщение от Croessmah Посмотреть сообщение
А разница?
разница в том, что (предположим) при RAND_MAX >= 1000000 все будет здорово, а так как RAND_MAX двухбайтовый, то подойдет мой первоначальный вариант. надо было осмыслить фразу
Цитата Сообщение от ForEveR Посмотреть сообщение
Можно и по С++-снее
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2013, 20:48     Как присвоить переменной рандомное число в диапазоне 000000 до 999999
Еще ссылки по теме:

C++ Как переменной (x) присвоить текст/слово и т.д
Присвоить переменной S определенное значение, если введенное число х лежит вне отрезков [2..5] и [-1..1] C++
C++ Как присвоить переменной значение pow?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
13.07.2013, 20:48     Как присвоить переменной рандомное число в диапазоне 000000 до 999999
  #20

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
а так как RAND_MAX двухбайтовый
Вот и я об этом так что число больше мы не получим
Цитата Сообщение от Thinker Посмотреть сообщение
то подойдет мой первоначальный вариант
ну это само собой разумеется - символы же
только вот число 001231 не очень как-то выглядит

Yandex
Объявления
13.07.2013, 20:48     Как присвоить переменной рандомное число в диапазоне 000000 до 999999
Ответ Создать тему
Опции темы

Текущее время: 17:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru