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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 189, средняя оценка - 4.81
svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
#1

Разобраться в параметрах rand() - C++

21.12.2012, 15:17. Просмотров 23032. Ответов 7
Метки нет (Все метки)

помогите разобраться пожалуйста) вот я в элемент массива возвращаю случайное число:
Код
a[i][j]=n+(rand()%(n-n1+1));
это я сделал по аналогии : rand() % (max-min+1) + min
помогите разобраться в параметрах) допустим я хочу чтобы функция генерировала двузначные числа ну и т.д.
в msdn смотрел там только это описание( может я плохо смотрел))) подкиньте если можно ссылку на статейку, книжку или может кто может исчерпывающе пояснить.
спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2012, 15:17     Разобраться в параметрах rand()
Посмотрите здесь:

О формальных параметрах - C++
Вопрос вот в чем, возможно ли в С++ объявить формальный параметр так , чтоб при подстановке вместо него фактического, в процессе выполнения...

Указатели в параметрах функции - C++
Доброго времени суток! У меня "вопрос", кто-нибудь может максимально подробно объяснить разницу между: 1) void ff (Listt **zag, int v){ ...

Ошибка в параметрах функции - C++
Здравствуйте! Прошу помочь разобраться. Никак не могу понять как правильно написать параметры функции, чтобы принимала и переменные...

bool в параметрах функции - C++
можно ли использовать тип bool в параметрах функции? void draw(char ch, int width, bool vline, bool hline ); или лучше использовать...

Вернуть строку в параметрах - C++
Добрый день, коллеги! В С++ не силен, поэтому обращаюсь к экспертам. Пишу внешнюю библиотеку для Дельфи приложения, но возникла...

Таблица в параметрах функции - C++
Гуру, помогите пожалуста новичку! Хочу заменить if ((cmd_SS=="Q")|(cmd_SS=="QUIT")|(cmd_SS=="EXIT")) {} на одну функцию if...

Получить сведения о текущих параметрах компьютера - C++
Всем доброго времени суток! Имеется задача,написать программу которая должна содержать в себе такт. частоту процессора,объем оперативной...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
21.12.2012, 15:41     Разобраться в параметрах rand() #2
Функция rand() возвращает значение от 0 до ~32 тысяч. Для того чтобы получить значение от 0 до 90, нужно написать так:
C++
1
rand()%90
А от 10 до 100 то так:
C++
1
rand()%90+10
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
21.12.2012, 15:46     Разобраться в параметрах rand() #3
svkpro не забудьте ещё перед rand() заюзать srand()
svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
21.12.2012, 15:51  [ТС]     Разобраться в параметрах rand() #4
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
svkpro не забудьте ещё перед rand() заюзать srand()
ну я эту функцию так использую:
Код
srand( (unsigned)time( NULL ) );
если можно как то еще подскажите)
Arigato
Программист
280 / 177 / 95
Регистрация: 05.12.2013
Сообщений: 672
Записей в блоге: 5
14.12.2013, 11:42     Разобраться в параметрах rand() #5
C++
1
srand(time(NULL));
kpoxaa
72 / 33 / 1
Регистрация: 03.08.2012
Сообщений: 446
11.02.2014, 02:28     Разобраться в параметрах rand() #6
Цитата Сообщение от rus_phantom Посмотреть сообщение
А от 10 до 100 то так: rand()%90+10
Ваш пример сложен для понимания. Логичнее (на мой взгляд) это делать так:

C++
1
rand() % (100 - 10+1) + 10;
Добавлено через 1 минуту
Цитата Сообщение от svkpro Посмотреть сообщение
если можно как то еще подскажите)
для особых извращенцев можно так

C++
1
srand(time(0));
но это все одно и тоже.
salam
162 / 143 / 12
Регистрация: 10.07.2012
Сообщений: 725
11.02.2014, 16:47     Разобраться в параметрах rand() #7
Цитата Сообщение от kpoxaa Посмотреть сообщение
rand() % (100 - 10+1) + 10;
вроде как автор хотел от числа из [10, 99].
ну тогда только
C++
1
rand() % 90 + 10;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2014, 17:02     Разобраться в параметрах rand()
Еще ссылки по теме:

Ключевое слово class в параметрах функции - C++
Всем привет. Увидел в чужом коде такую конструкцию. void SomeFunction(class SomeClass * a) { a->F(); } В параметрах...

Как реализовать флаги в параметрах функции - C++
Объясните пожалуйста как реализовать флаги в параметрах функции. К примеру: есть такие флаги left middle right drowPoints...

Непонятный синтаксис typedef в параметрах шаблона - C++
Отсюда: http://www.informit.com/articles/article.aspx?p=1881386&seqNum=2 namespace std { namespace chrono { typedef...

Условие выполняется при любых параметрах - C++
Добрый день! Помогите разобраться почему условие не выполняется. char ssa; ... cin >> ssa;

Взаимный обмен значений указателей в параметрах функции - C++
Необходимо создать шаблонную функцию void f(int *x, float *y) в которой *х - указатель на массив, состоящий из целых чисел, *у -...


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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,728
11.02.2014, 17:02     Разобраться в параметрах rand() #8
Цитата Сообщение от salam Посмотреть сообщение
ну тогда только
есть еще один путь
говорят у него распределение лучше
C++
1
2
3
4
5
6
7
int fncRand(int min, int max)
{
double tmp=rand()/RAND_MAX;
tmp=tmp*(max-min);
return tmp+min;
 
}
если изменить порядок вычислений то можно обойтись без double, правда возможно переполнение
C++
1
2
3
4
5
6
int fncRand(int min, int max)
{
int tmp=rand()*(max-min);
tmp=tmp/RAND_MAX;
return tmp+min;
}
Добавлено через 2 минуты
Цитата Сообщение от rus_phantom Посмотреть сообщение
Для того чтобы получить значение от 0 до 90, нужно написать так:
C++
1
rand()%90
до 89
Yandex
Объявления
11.02.2014, 17:02     Разобраться в параметрах rand()
Ответ Создать тему
Опции темы

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