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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
#1

Рандомный генератор чисел - C++

16.10.2012, 19:27. Просмотров 1049. Ответов 3
Метки нет (Все метки)

Привет, ребята, у меня назрел вопрос. Я только-только начал изучать C++, и мне дали задание, написать генератор чисел. Я ввожу два числа, которые берутся за минимальную и максимальную точку диапазона, и генератор мне выводит случайное число из этого диапазона.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
#include <ctime>
    using namespace std;
int main ()
{
    int a,b,i;
    cout<<"Vvedite a i b:";
    cin>>a>>b;
        srand(a,b);
        rand(a,b,i);
        time((NULL)|clock());
    cout>>i;
return 0;
}
Короче, выбило аж целых 28 ошибок большинство из них "смотреть std::operator>>"
Просто кому не лень, посмотрите код, скажите, где есть мои проколы. И прошу не смеятся, я только начинаю познавать это ремесло
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 19:27     Рандомный генератор чисел
Посмотрите здесь:

C++ Генератор псевдослучайных чисел
генератор чисел C++
C++ Генератор псевдослучайных чисел
Генератор чисел C++
C++ Генератор чисел
Генератор чисел C++
C++ Генератор 4-знаковых чисел
Генератор чисел! C++
C++ Как сделать подбор рандомный разных чисел (srand (time(0) не помогает)?
Генератор простых чисел C++
Рандомный вывод чисел C++
Рандомный ввод вещественных чисел в массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12675 / 7183 / 801
Регистрация: 27.09.2012
Сообщений: 17,710
Записей в блоге: 2
Завершенные тесты: 1
16.10.2012, 19:47     Рандомный генератор чисел #2
Можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <ctime>
    using namespace std;
int main ()
{
    int minv,maxv,rv;
    cout<<"Vvedite MIN i MAX:";
    cin>>minv>>maxv;
    srand(time(NULL));
    rv=minv+rand()%(maxv-minv+1);
    cout<<rv<<endl;
    system("pause");
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от Noobass Посмотреть сообщение
Просто кому не лень, посмотрите код, скажите, где есть мои проколы.
Не знаю, откуда вы взяли это
C++
1
2
3
4
srand(a,b);
rand(a,b,i);
time((NULL)|clock());
cout>>i;
тут все 28 ошибок
GAGAn
3 / 3 / 0
Регистрация: 20.09.2012
Сообщений: 37
16.10.2012, 20:04     Рандомный генератор чисел #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <stdlib.h>
    using namespace std;
int main ()
{
    int a,b,i;
    cout << "Vvedite a  : ";
    cin >> a;
     cout << "Vvedite b  : ";
    cin >> b;
      i  = a + rand() % b ; //a минимальное число, b максимальное число 
       
    cout <<"i = "<< i;
    cin.get();
    cin.get();
return 0;
}
На счет srand () гугл сказал что это что то сложное и не стоит туда лезть ели только начинаешь.
C++
1
        rand(a,b,i);// функция rand()  имеет тип void  и не принимает аргументов.
Исправьте меня если что не так)
Я тоже только начинаю программировать)

Добавлено через 13 минут
Нагуглл что
C++
1
srand(time(NULL))
добавляет к ГСЧ текущее время системы тем самым число не будет все время повторятся.
А вообще ГСЧ не существует, ну конечно можно брать за точку отсчета допустим колебания земли и тогда предсказать число практически не возможно но все же возможно
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <stdlib.h>
    using namespace std;
int main ()
{
    int a,b,i;
    cout << "Vvedite a  : ";
    cin >> a;
     cout << "Vvedite b  : ";
    cin >> b;
      // srand(time(NULL)); // добавить для псевдонепредсказуемости.
      i  = a + rand() % b ; //a минимальное число, b максимальное число 
       
    cout <<"i = "<< i;
    cin.get();
    cin.get();
return 0;
}
Kastaneda
Форумчанин
Эксперт С++
4259 / 2791 / 219
Регистрация: 12.12.2009
Сообщений: 7,120
Записей в блоге: 1
Завершенные тесты: 1
16.10.2012, 20:23     Рандомный генератор чисел #4
Цитата Сообщение от GAGAn Посмотреть сообщение
А вообще ГСЧ не существует, ну конечно можно брать за точку отсчета допустим колебания земли и тогда предсказать число практически не возможно но все же возможно
Под линуксом есть (хотя говорят, что тоже не идеал)
Yandex
Объявления
16.10.2012, 20:23     Рандомный генератор чисел
Ответ Создать тему
Опции темы

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