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

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

Войти
Регистрация
Восстановить пароль
 
 
Okrekso
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 10
#1

корректно не работает функция rand - C++

19.12.2015, 21:35. Просмотров 590. Ответов 21
Метки нет (Все метки)

в полном коде почему-то не работает корректно функция rand, вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<cstdlib>
#include<ctime>
#include<iostream>
 
 
using namespace std;
int main(){
    srand(time(NULL));
    int v;
    v=rand()%5+3;
    cout<<"RAND: "<<v<<"\n";
 
    system("pause");
    return 0;
}
по теории должно выдать переменную v в диапазоне от 3-ёх до 5-ти, однако оно иногда и 7 выдаёт, и 6 выдаёт, в общем ненормально работает. Кто ткнёт носом в чём проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2015, 21:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос корректно не работает функция rand (C++):

Не работает библиотечная функция rand() в C++ на Ubuntu 16.04 - C++
Добрый вечер. Учусь программированию на С++ по книге &quot;С++ Базовый курс. Третье издание&quot; от Герберта Шилдта Компилирую программы с...

функция удаления работает не корректно почему??? - C++
функция удаления в контрольной не работает... возился два дня с ней никак не могу сделать чтоб работала как надо... явно надо по больше...

Функция rand() - C++
Здравствуйте, где я могу посмотреть код функции rand()? И подобных функций на генерирование псевдослучайных чисел?

Функция rand - C++
Решить задачу с использованием библиотечной функции rand,заголовочный файл stdlib.h Случайные числа в диапазоне от -32768 до 32768 можно...

Функция rand(); - C++
Нужно чтобы функция rand(); выдавала значения в заданном интервале то есть к примеру от 230 до 233 нужно чтобы выдавало числа 230 ...

Функция - rand - C++
Здравствуйте. Проблема - нужно сгенерировать случайное число из области чисел введённых в переменную. Допустим, я создаю переменную: ...

21
Mesteriis
373 / 156 / 40
Регистрация: 08.08.2015
Сообщений: 1,107
Завершенные тесты: 1
19.12.2015, 22:40 #16
Okrekso, Ну да! ))) Поздравляю)
0
Kerry_Jr
Модератор
Эксперт PHP
2201 / 1997 / 700
Регистрация: 14.05.2014
Сообщений: 5,856
Записей в блоге: 1
Завершенные тесты: 5
19.12.2015, 22:41 #17
Цитата Сообщение от Mesteriis Посмотреть сообщение
генерирует случайное чисто в диапазоне от 0 до RAND_MAX
от 0 до RAND_MAX - 1

Добавлено через 55 секунд
Цитата Сообщение от Okrekso Посмотреть сообщение
от 2-х до 8-ми.
8 в диапазон не попадет.
0
LaRew
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 17
19.12.2015, 23:06 #18
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
от 0 до RAND_MAX - 1

Добавлено через 55 секунд
8 в диапазон не попадет.
Почему? Если загнать в программу, то будет перебор с включение RAND_MAX. И ли я не прав?
0
Kerry_Jr
Модератор
Эксперт PHP
2201 / 1997 / 700
Регистрация: 14.05.2014
Сообщений: 5,856
Записей в блоге: 1
Завершенные тесты: 5
20.12.2015, 07:56 #19
LaRew, выражение типа число1 % число2 никогда не вернет результатом число2

Добавлено через 2 минуты
Цитата Сообщение от LaRew Посмотреть сообщение
то будет перебор с включение RAND_MAX.
Да, тут я поторопился.
0
Okrekso
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 10
20.12.2015, 22:58  [ТС] #20
ребят, новая проблема...
вот часть кода:
C++
1
2
3
                int kolVap[5];
        kolVar[0]=rand()%3+3; //рандом количества вариантов
        cout<<"\nkolvar:"<<kolVar<<"\n";
на выводе получаем это: 003AFD004 (или что-то подобное)
с чем это может быть связано?
0
Mesteriis
373 / 156 / 40
Регистрация: 08.08.2015
Сообщений: 1,107
Завершенные тесты: 1
20.12.2015, 23:03 #21
Цитата Сообщение от Okrekso Посмотреть сообщение
003AFD004
смахивает на адрес, анука покажи минимально компелируемый код
0
Okrekso
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 10
20.12.2015, 23:20  [ТС] #22
я невнимателен, как всегда, там массива номер не указан, забыли.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2015, 23:20
Привет! Вот еще темы с ответами:

Функция rand - C++
Помогите написать программу) В цикле, используя функцию rand генерировать числа в диапазоне от 0 до 9. Из этих чисел составить цеиое...

Функция rand() - C++
Сделал задания: Комп должен угадать число какое я задал в уме. В диапазоне от 1 до 100 . void Ex() { srand(time(NULL)); int first =...

Функция rand() - C++
Помогите, как сделать так что бы функция random при каждом запросе к ней генерировала случайное число ( сейчас все 3 числа одинаковые) ...

функция rand() - C++
У меня такой вопрос, как можно сделать искать рандомные числа за исключением определенных! Допустим нахожу рандомное число от 0 до 10,...


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

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

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