Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
_Максим_
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 39
#1

Генератор случайных функций

29.10.2015, 21:09. Просмотров 889. Ответов 3
Метки нет (Все метки)

Можно ли реализовать не генератор случайных чисел, а генератор случайных функций? То есть я создаю несколько функций и с помощью генератора рандома вызываю несколько раз одну из этих функций. Если можно и знаете как, напишите код, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2015, 21:09
Ответы с готовыми решениями:

Генератор случайных чисел без стандартных функций
Помогите пожалуйста. Нужно написать сой генератор случайных чисел без...

Генератор случайных чисел
Пишу курсовую по криптографии, для генерации ключей, естественно, нужен...

Генератор случайных чисел
Здравствуйте! Кто-нибудь объясните пожалуйста. Вот есть функция rand(). Она...

Генератор случайных чисел
Еще одна тема о генераторе. Только вопрос, на который я пока не нашел ответа в...

генератор случайных чисел
как реализовать генератор случайных чисел? чтобы можно было вводить два...

3
schdub
Эксперт С++
3030 / 1374 / 419
Регистрация: 19.01.2009
Сообщений: 3,664
Завершенные тесты: 1
30.10.2015, 00:54 #2
Лучший ответ Сообщение было отмечено schdub как решение

Решение

Цитата Сообщение от _Максим_ Посмотреть сообщение
с помощью генератора рандома вызываю несколько раз одну из этих функций
_Максим_, не совсем понял, что именно вам нужно, но возможно будет полезно:
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
// чтобы не писать каждую функцию
#define FUNCT(n) void func_##n () {                          \
    std::cout << __FUNCTION__ << " is called." << std::endl; \
}
 
// объявим 4 функции
FUNCT(1);
FUNCT(2);
FUNCT(3);
FUNCT(4);
 
int main (int argc, char** argv) {
    // помещаем наши функции в массив
    void (*funcs[])() = { func_1, func_2, func_3, func_4 };
    // кол-во элементов в массиве
    int func_count = sizeof(funcs) / sizeof(*funcs);
    // инициализируем ГПСЧ
    srand((unsigned)time(NULL));
    // и выполняем случайное кол-во итераций цикла
    for (int i = 0, ie = (rand() % 10)+1; i < ie; ++i) {
      // вызываем рандомную функцию из массива
      funcs[rand() % func_count]();
    }
    return 0;
}
2
anem
12 / 12 / 6
Регистрация: 11.07.2015
Сообщений: 141
01.11.2015, 19:30 #3
Лучший ответ Сообщение было отмечено schdub как решение

Решение

С помощью генератора случайных чисел. И, в зависимости от числа, вызываем одну из функций.

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch(rand()%4)
{
case 0:
func0();
break;
case 1:
func1();
break;
case 2:
func2();
break;
case 3:
func3();
break;
}
1
_Максим_
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 39
04.11.2015, 19:13  [ТС] #4
schdub и anem, спасибо большое! Это именно то, что мне нужно. Использую оба кода в своей работе.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2015, 19:13

Генератор случайных чисел
составить генератор случайных чисел, имеющий два члена - границы...

Генератор случайных чисел
Всем привет, вот такая задачка. &quot;Датчики случайных чисел можно привлекать при...

Генератор случайных чисел
Здраствуййте :( int a=rand()%10000; std::cout &lt;&lt; a; getchar(); return...


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

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

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