Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
#1

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

13.07.2013, 19:47. Просмотров 1566. Ответов 23
Метки нет (Все метки)

Как присвоить переменной предположим А рандомное число в диапазоне 000000 до 999999 , не 0 - 999999 а 000000-999999
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2013, 19:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как присвоить переменной рандомное число в диапазоне 000000 до 999999 (C++):

Промежуток {000000 - 999999} - C++
Засел на последней задаче по теме :) Необходимо посчитать кол-во счастливых билетов и найти их процентную долю от общество числа билетов...

Присвоить число из строки любой переменной - C++
Есть любая строка например: char {12:15}; как из неё присвоить переменной n число 12?

Присвоить целой переменной L число, составленное из литерных переменных - C++
всем здравствуйте, помогите пожалуйста. написать на Си программу. задание вот: Значениями литерных переменных С0,С1,С2, являются цифры....

Присвоить переменной S определенное значение, если введенное число х лежит вне отрезков [2..5] и [-1..1] - C++
. Не используя оператора if, присвоить переменной S значение 0, если введенное число х лежит вне отрезков и , и значение 1 — в противном...

Переменной целого типа присвоить число, образованное совместной записью трех символьных переменных - C++
Заданные три переменных символьного типа. Переменные целого типа присвоить число, образованное совместимых записью этих переменных. Если...

Переменной t присвоить значение истина, если в одномерном массиве есть хотя бы одно число 101 - C++
1.Переменной t присвоить значение истина, если в одномерном массиве есть хотя бы одно число 101.

23
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 20:15 #16
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


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

вы правы
rand() % 1000000
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,544
Завершенные тесты: 3
13.07.2013, 20:15 #17
Croessmah, RAND_MAX то для float/double используется в основном... Можно так.
C++
1
rand() % (999999 - 1) + 1;
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
13.07.2013, 20:18 #18
Цитата Сообщение от Thinker Посмотреть сообщение
rand() % 1000000
А разница?
1
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 20:46 #19
Цитата Сообщение от Croessmah Посмотреть сообщение
А разница?
разница в том, что (предположим) при RAND_MAX >= 1000000 все будет здорово, а так как RAND_MAX двухбайтовый, то подойдет мой первоначальный вариант. надо было осмыслить фразу
Цитата Сообщение от ForEveR Посмотреть сообщение
Можно и по С++-снее
1
Croessmah
13.07.2013, 20:48
  #20

Не по теме:

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

1
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 20:52 #21
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


Вот и я об этом

Не по теме:

да, спасибо, всегда знал, что RANF_MAX двухбайтовый, поэтому большие числа не генерировал.



Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:



только вот число 001231 не очень как-то выглядит

Не по теме:

есть заказ-есть алгоритм

1
Croessmah
13.07.2013, 21:01
  #22

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
есть заказ-есть алгоритм
Да я что-то проворонил это:
Цитата Сообщение от андрюха53 Посмотреть сообщение
не 0 - 999999 а 000000-999999

0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.07.2013, 21:04 #23
поскольку rand() основан на линейном конгруэнтном генераторе псевдослучайных чисел (фигня), то лучше что-то серьезнее использовать, а так, можно

((long)rand() * rand()) / 1000000
0
андрюха53
6 / 6 / 0
Регистрация: 26.12.2012
Сообщений: 50
13.07.2013, 21:42  [ТС] #24
Блин ребят новый вопрос появился а в visual windows form aplication как рандом сделать в косноли -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#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;
0
13.07.2013, 21:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2013, 21:42
Привет! Вот еще темы с ответами:

a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b - C++
даны произвольные числа a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b.

Как задать рандомное число от 200 до 800? - C++
Как это правильно оформить? Может кто-нибудь сказать, какой-нибудь простой для понимания алгоритм, по которому задаются диапазоны? Я только...

Как сделать чтобы каждый раз рандомное число менялось? - C++
Вопрос таков: Как сделать чтобы каждый раз рандомное число менялось? И каким образом или на каком этапе &quot;выбирается&quot; это число, т.к сколько...

Как сгенерировать рандомное число 16-тиричной системе счисления 32 разрядное? - C++
Подскажите пожалуйста. Как сгенерировать рандомное число 16-тиричной системе счисления 32 разрядное. С++


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru