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

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

Войти
Регистрация
Восстановить пароль
 
tromb.92
10 / 10 / 1
Регистрация: 21.11.2009
Сообщений: 34
#1

трабл с генерацией псевдослучайных чисел - C++

19.12.2009, 12:28. Просмотров 340. Ответов 1
Метки нет (Все метки)

вот нашел на форумепрогу :

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int gen_random( int range_min, int range_max );
 
/* ================================================================ */
int main( int argc, char *argv[] ) {
        
int range_min, range_max, rand_val;
 
 
srand( time( NULL ) );
 
if ( argc!=1+2 ) {
        fprintf( stderr, "Usage: gen_random range_min range_max\n" ); exit( 1 );
}
 
range_min= atoi( argv[1] );
range_max= atoi( argv[2] );
rand_val= gen_random( range_min, range_max );
 
printf( "random value in range [%d;%d] is %d\n", range_min, range_max, rand_val );
 
return 0;
 
} /* main() */
 
/* ================================================================ */
int gen_random( int range_min, int range_max ) {
 
if ( range_min>range_max ) {
        fprintf( stderr, "gen_random(): Invalid arguments\n" ); exit( 1 );
}
 
return range_min+rand()%(range_max-range_min+1);
        
} /* gen_random() */
не моглибы вы подсказать как ее упростить а то я плохо еще освоил Си а уж очень надо генератор псевдослучайных чисел.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 12:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос трабл с генерацией псевдослучайных чисел (C++):

Проблемка с генерацией случайных чисел - C++
Доброго дня, уважаемые форумчане Имею нижеследующий код for(int i_o = 0; i_o &lt; init_arr; i_o++) //for(int i_o = 0; i_o &lt; 1;...

Генерацией массива чисел циклом - C++
Нужно сгенерировать 10 разных значений, не равных переменной First Я не придумал ничего лучше (случайные значения записываются в массив) ...

Задача с генерацией рандомных чисел в цикле (FOR) - C++
Даны две последовательности целых чисел a1, a2, …an и b1, b2, …bn Все члены последовательностей - различные числа. Найти, сколько членов...

С помощью генератора псевдослучайных чисел образовать последовательность целых чисел в диапазоне от 140 до 220 (см) - C++
3)С помощью генератора псевдослучайных чисел образовать последовательность целых чисел в диапазоне от 140 до 220 (см), выражающие рост...

Генератор псевдослучайных чисел - C++
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты попадания в каждый из интервалов длиной...

Генератор псевдослучайных чисел - C++
Всем привет. Как такое &quot;чудо&quot; пишеться, примерный алгоритм, если можно на псевдокоде: Написать генератор псевдослучайных чисел по...

1
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.12.2009, 12:51 #2
Вот упрощенная версия этого кода:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int a, range_min, range_max;
    srand( time( NULL ) );
    scanf("%d", &range_min);
    scanf("%d", &range_max);
    a=range_min+rand()%(range_max-range_min+1);
    printf("%d\n",a);
    return 0;
}
Т.е. сначало вводите минимум диапазона, затем максимум. После этого программа выводит на экран случайное число из этого диапазона.
Если например Вы уже знаете диапазон, то этот код еще больше можно упростить.
Например нужно случайное число в диапазоне от 1 до 10 (включительно). То код будет выглядеть так:
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int a;
    srand( time( NULL ) );
    a=rand()%(10)+1;
    printf("%d\n",a);
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2009, 12:51
Привет! Вот еще темы с ответами:

Генерация псевдослучайных чисел!!! - C++
Помогите кто чем может!!пожалуйста! Составьте программу, реализующую линейный конгруэнтный ГПСЧ, и способную генерировать случайные...

Генератор псевдослучайных чисел. - C++
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты попадания в каждый из интервалов...

Генератор псевдослучайных чисел - C++
Данный генератор работает по конгруэнтному методу, формула X_{n} = ( a X_{n-1}^3 + b X_{n-1}^2 + c X_{n-1} + d )\mod 2^e. При...

Генератор псевдослучайных чисел. - C++
Здраствуйте. Мне нужно сделать вот что &quot;Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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