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

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

Восстановить пароль Регистрация
 
tromb.92
10 / 10 / 1
Регистрация: 21.11.2009
Сообщений: 34
19.12.2009, 12:28     трабл с генерацией псевдослучайных чисел #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() */
не моглибы вы подсказать как ее упростить а то я плохо еще освоил Си а уж очень надо генератор псевдослучайных чисел.....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 12:28     трабл с генерацией псевдослучайных чисел
Посмотрите здесь:

Проблемка с генерацией случайных чисел C++
Генератор псевдослучайных чисел. C++
генератор псевдослучайных чисел... C++
C++ Генератор псевдослучайных чисел.
C++ Генератор псевдослучайных чисел
C++ С помощью генератора псевдослучайных чисел образовать последовательность целых чисел в диапазоне от 140 до 220 (см)
C++ Задача с генерацией рандомных чисел в цикле (FOR)
C++ C++11 генерация псевдослучайных чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 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;
}
Yandex
Объявления
19.12.2009, 12:51     трабл с генерацией псевдослучайных чисел
Ответ Создать тему
Опции темы

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