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

Как генерировать случайные числа? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не получается определить friend за приделами шаблона http://www.cyberforum.ru/cpp-beginners/thread798878.html
Есть шаблон класса: template <typename V> class Vector; и есть "друг": friend std::ostream& operator<<(std::ostream& lhs, const Vector& rhs); Если объявить и определить в самом теле шаблона, то всё ОК, а вот за пределами компилятор выдаёт ошибки. Подскажите как правильно нужно определять "друзей" за пределами шаблона. Спасибо. Сори за безграмотность :)
C++ BigInt to int как перевести BigInt в int ? например int e=0; BigInteger bigE = new BigInteger(String.valueOf(e)); int res; и теперь нужно bigE записать в res http://www.cyberforum.ru/cpp-beginners/thread798877.html
Как составить программу к следующей задаче C++
Надо написать прогр. к задаче про паркетчик. Паркетчик должен класть паркет на пуст. место в помещении, по опред. алгоритму, и при этом обходя припятствия(т.е. не врезаясь в стену) Помещение и припятствия(стены) задается массивом, из 0 и 1 соотв.. Место нахождения паркетчика зададим, например, цифрой 5. а место уклад. паркета будем обозн. буквой-п. Например, входной массив таков: 1 1 1 1 1 1 1...
C++ код Тритемиуса
помогите написать код Тритемиуса //Программа шифрования/дешифрования символов латиницы #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <fstream>
C++ Где ошибка? (произведение цифр заданного целого четырехзначного числа) http://www.cyberforum.ru/cpp-beginners/thread798817.html
Условие задачи: Найти произведение цифр заданного целого четырехзначного числа. #include<iostream> using namespace std; int main() std::cin>>num; int proizved=1; int val;
C++ Получить список файлов и папок Имеется строка в которой содержится адрес некоторой папки. Как можно получить список всех файлов и подпапок в данной папке? подробнее

Показать сообщение отдельно
System16v
 Аватар для System16v
3 / 3 / 0
Регистрация: 19.02.2014
Сообщений: 115
23.03.2015, 14:04     Как генерировать случайные числа?
Подскажите пожалуйста.Почему функция rand неправильно генерирует числа? Задание было - Напишите операторы, которые присваивают случайные целые значения
переменной п в следующих диапазонах:
a) 1 < n < 2, b) 1 < n < 100, c) 0 < n < 9, d) 1000 < n < 1112, e) -1 < n < 1, f) -3< n < 11

Написал код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <cstdlib>
#include <math>
#include <iomanip>
 
using namespace std;
 
double chisloA(double);
double chisloB(double);
double chisloC(double);
double chisloD(double);
double chisloF(double);
double chisloE(double);
 
int main()
{
        srand(time(0));
        double n;
        cout << "Chislo 1) " << chisloA(n) << endl;
        cout << "Chislo 2) " << chisloB(n) << endl;
        cout << "Chislo 3) " << chisloC(n) << endl;
        cout << "Chislo 4) " << chisloD(n) << endl;
        cout << "Chislo 5) " << chisloF(n) << endl;
        cout << "Chislo 6) " << chisloE(n) << endl;
        system("pause");
        return 0;
}
double chisloA(double n)
{
      return n=1+rand()%2;
}
double chisloB(double n)
{
      return n=1+rand()%100;
}
double chisloC(double n)
{
      return n=0+rand()%9;
}
double chisloD(double n)
{
      return n=1000+rand()%1112;
}
double chisloF(double n)
{
      return n=-1+rand()%1;
}
double chisloE(double n)
{
      return n=-3+rand()%11;
}
Так вот a,b,c,f,e выбирает в правильном диапазоне,а D должна выбирать от 1000 до 1112,а она выдает числа 1900\1743 и т.д.,т.е. за диапазоном,что не так то?

Добавлено через 6 минут
Верней правильней вот так конечно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <cstdlib>
#include <math>
#include <iomanip>
 
using namespace std;
 
int chisloA();
int chisloB();
int chisloC();
int chisloD();
int chisloF();
int chisloE();
 
int main()
{
        srand(time(0));
        cout << "Chislo 1) " << chisloA() << endl;
        cout << "Chislo 2) " << chisloB() << endl;
        cout << "Chislo 3) " << chisloC() << endl;
        cout << "Chislo 4) " << chisloD() << endl;
        cout << "Chislo 5) " << chisloF() << endl;
        cout << "Chislo 6) " << chisloE() << endl;
        system("pause");
        return 0;
}
int chisloA()
{
      return 1+rand()%2;
}
int chisloB()
{
      return 1+rand()%100;
}
int chisloC()
{
      return 0+rand()%9;
}
int chisloD()
{
      return 1000+rand()%1112;
}
int chisloF()
{
      return -1+rand()%1;
}
int chisloE()
{
      return -3+rand()%11;
}
Но результат тот же,везде правильно,а D неправильно за диапазоном.Во прикол...
 
Текущее время: 06:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru