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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 102, средняя оценка - 4.81
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
#1

Отрицательный числа в rand() - C++

20.11.2009, 00:48. Просмотров 13975. Ответов 4
Метки нет (Все метки)

Как?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2009, 00:48     Отрицательный числа в rand()
Посмотрите здесь:

Можно ли задать вероятность выпадения числа в функции Rand(); C++
C++ вещественные числа через rand
Как заставить rand() выдавать числа в нужном интервале C++
Как модернизировать функцию rand, что бы числа генерировались на заданом промежутке от a до b ? C++
Функция rand() в обоих случаях выбрасывает одинаковые числа C++
Rand, которая генерирует как целые, так и дробные числа C++
Rand() как именно генерируются эти числа C++
Rand() создает одинаковые числа C++
Почему rand() выдает не те числа, которые я ожидаю C++
C++ Rand() генерирует одни и те же числа
При использовании rand числа постоянно повторяются C++
C++ Rand() исключение числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
20.11.2009, 00:59     Отрицательный числа в rand() #2
Вот так, например...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define LIMIT 100
 
int main(){
    int i;
    
    srand(time(NULL));
    for ( i = 0; i < 10; i++ )
        printf("%d\n", ( rand() %  LIMIT + 1) * -1);
    
    return 0;
}
new_in_net
276 / 255 / 4
Регистрация: 11.11.2009
Сообщений: 605
20.11.2009, 01:54     Отрицательный числа в rand() #3
делаите 2 random - один для значения числа, а второй для его знака. Что-то вроде такого:

C
1
2
3
4
int numb = Random(1000);
int sign = Random(2);
if (sign > 1)
 numb *= -1;
kazak
3031 / 2352 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
20.11.2009, 03:05     Отрицательный числа в rand() #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Определяем нужный диапазон значений.
Вычитаем из конечного значения начальное значение и прибавляем еденицу.
Получившееся число используем для получения случайного значения, прибавляем нижнее значение диапазона.
Пример: нужно получить случайное число в диапазоне от -37 до 71. Делаем вычитание 71 - (-37) = 71 +37 = 108, прибавляем еденицу 108 + 1 =109. Далее вычисляем случайное число и прибавляем нижнее значение диапазона
C++
1
rand() % 109 + (-37)
xBot01
9 / 9 / 1
Регистрация: 25.09.2009
Сообщений: 17
20.11.2009, 13:29     Отрицательный числа в rand() #5
Псевдослучайное число в диапазоне от -99 до 0
C++
1
x = - ( rand() % 100 )
Yandex
Объявления
20.11.2009, 13:29     Отрицательный числа в rand()
Ответ Создать тему
Опции темы

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