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

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

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

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

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

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

Rand() исключение числа - C++
У меня есть код a = -2 + rand () %10; Мне нужно чтобы генерировало все числа от 2- до 10 , кроме 0 Пытался сделать вот так : a =...

Rand() создает одинаковые числа - C++
inline void Playing_card::set_random_suit() { std::srand(time(NULL)); suit_.val = rand() % (SPADES - CLUBS) + CLUBS; ...

вещественные числа через rand - C++
Привет всем, прошу помощи в генерации вещественных случайных чисел через rand в диапазонах: 1)от 0 до 450.0 2)от -15 до 15.0 3)от 0...

Rand() генерирует одни и те же числа - C++
0100010010101010100011111101010101000010 щучу :p Всем привет, не найдя на форуме ответа, решил сделать тему, удалю как получу ответ...

При использовании rand числа постоянно повторяются - C++
использую "рандомную" рандомизацию, но числа постоянно повторяются при srand(time(NULL)); a = rand() % 3 + 1; в массиве все...

Почему rand() выдает не те числа, которые я ожидаю - C++
#include <stdio.h> #include <string.h> #include <cstdlib> #include <iostream> #include <ctype.h> #include <ctime> int main() ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9532 / 5525 / 932
Регистрация: 25.07.2009
Сообщений: 10,611
20.11.2009, 00:59 #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 #3
делаите 2 random - один для значения числа, а второй для его знака. Что-то вроде такого:

C
1
2
3
4
int numb = Random(1000);
int sign = Random(2);
if (sign > 1)
 numb *= -1;
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
20.11.2009, 03:05 #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 #5
Псевдослучайное число в диапазоне от -99 до 0
C++
1
x = - ( rand() % 100 )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2009, 13:29
Привет! Вот еще темы с ответами:

Rand() как именно генерируются эти числа - C++
Функция rand(). Мне для ответа по ОПИ мало сказать что она возвращает псевдослучайные числа от 0 до RAND_MAX. Надо рассказать как именно...

Функция rand() в обоих случаях выбрасывает одинаковые числа - C++
Почему в итоге всегда функция rand() в обоих случаях выбрасывает одинаковые числа, а выбрасывать начинает всегда с 6 . 6, потом идёт 5 . 5,...

Как заставить rand() выдавать числа в нужном интервале - C++
Нужны случайные числа в диапазоне от 0 до Х, где Х - каждый раз другое число. rand() генерирует их, но их нельзя коноролировать. Может кто...

Можно ли задать вероятность выпадения числа в функции Rand(); - C++
Вопрос в названии темы если можно как то задать вероятность то хотелось бы увидеть пример в коде! то есть допустим rand выдает чиса...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.11.2009, 13:29
Ответ Создать тему
Опции темы

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