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

генерация чисел - C++

Восстановить пароль Регистрация
 
nutius
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 60
05.02.2013, 23:52     генерация чисел #1
Скажите, пожалуйста, как сгенерировать случайным образом отрицательные числа?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 23:52     генерация чисел
Посмотрите здесь:

Генерация чисел C++
Генерация чисел C++
генерация чисел C++
C++ Генерация псевдослучайных чисел!!!
Генерация чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.02.2013, 23:53     генерация чисел #2
генерируем положительное число и дописываем к нему знак "минус"
-rand();
dickivs
 Аватар для dickivs
46 / 46 / 6
Регистрация: 25.11.2011
Сообщений: 267
05.02.2013, 23:53     генерация чисел #3
сначала сгенерируй положителное число srand-ом, потом результат умножь на -1.
nutius
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 60
05.02.2013, 23:54  [ТС]     генерация чисел #4
Цитата Сообщение от I.M. Посмотреть сообщение
генерируем положительное число и дописываем к нему знак "минус"
-rand();
Спасибо, а можете привести пример, допустим, я хочу сгенерировать числа в двумерном массиве в диапазоне от -5 до -25
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.02.2013, 23:58     генерация чисел #5
rand()%21 - генерирует число в диапазоне [0, 20]
5 + (rand()%21) - генерирует число в диапазоне [5, 25]
-(5 + (rand()%21)) - генерирует число в диапазоне [-25, -5]
скобки писал для наглядности
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
05.02.2013, 23:59     генерация чисел #6
Пример с cplusplus
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main ()
{
  int iSecret, iGuess;
 
  /* initialize random seed: */
  srand ( time(NULL) );
 
  /* generate secret number: */
  iSecret = rand() % 10 + 1;
}
nutius
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 60
06.02.2013, 00:00  [ТС]     генерация чисел #7
Цитата Сообщение от I.M. Посмотреть сообщение
rand()%21 - генерирует число в диапазоне [0, 20]
5 + (rand()%21) - генерирует число в диапазоне [5, 25]
-(5 + (rand()%21)) - генерирует число в диапазоне [-25, -5]
скобки писал для наглядности
Спасибо,а как быть с вещественными числами, например от -5,2 до -25,3 или от 5,1 до 25,1?
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
06.02.2013, 00:03     генерация чисел #8
Цитата Сообщение от nutius Посмотреть сообщение
от -5,2 до -25,3 или от 5,1 до 25,1?
генерировать от -52 до -253 и делить на 10 (100, 1000, ...)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 10:10     генерация чисел
Еще ссылки по теме:

C++ Генерация чисел
C++ Генерация псевдослучайных чисел.с++
C++ C++11 генерация псевдослучайных чисел

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
07.02.2013, 10:10     генерация чисел #9
Универсальная функция генерации случайного числа в диапазоне [lower_bound, upper_bound):
C++
1
2
3
4
double random_number(double lower_bound, double upper_bound)
{
    return lower_bound + (upper_bound - lower_bound) * (static_cast<double>(rand()) / RAND_MAX);
}
Yandex
Объявления
07.02.2013, 10:10     генерация чисел
Ответ Создать тему
Опции темы

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