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

Функция rand() - C++

Восстановить пароль Регистрация
 
FootballMan
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 7
08.02.2016, 14:32     Функция rand() #1
Сделал задания: Комп должен угадать число какое я задал в уме. В диапазоне от 1 до 100 .
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
void Ex()
{   srand(time(NULL));
    int first = 1;
    int last = 100;
    int number = rand() % last + 1;
    int count = 0;
    bool state = false;
    while (true)
    {
        std::cout << "Guess the number (from 1 to 100): " << number << "\n";
        std::cout << "1.You guessed" << "\n";
        std::cout << "2.Too hight" << "\n";
        std::cout << "3.Too low" << "\n";
        
        std::cin >> count;
        switch (count)
        {
        case 1: state = true;
            break;
        case 2: last = number - 1;
            break;
        case 3: first = number + 1;
            break;
        }
        if (state)
            break;
        else
            number = first + rand() % (last - first + 1);
    }
    std::cout << "Your number: " << number << "\n" ;
    system("pause");
}
int main()
{
    Ex();
    
    return 0;
}
Вопрос. я два раза делаю rand().
C++
1
2
int number = rand() % last + 1;
number = first + rand() % (last - first + 1);
Можно сделать функцию и просто ее вставлять в нужное место? И как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2016, 14:32     Функция rand()
Посмотрите здесь:

C++ Функция rand();
C++ функция rand()
Функция rand() C++
C++ функция rand()
Функция rand() C++
Функция rand() C++
C++ Функция rand
C++ Функция - rand

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Valera_
 Аватар для _Valera_
486 / 368 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
08.02.2016, 14:37     Функция rand() #2
Цитата Сообщение от FootballMan Посмотреть сообщение
int number = rand() % last + 1;
number = first + rand() % (last - first + 1);
и зачем первый?

Добавлено через 58 секунд
Цитата Сообщение от FootballMan Посмотреть сообщение
Можно сделать функцию и просто ее вставлять в нужное место? И как это сделать?
можно все, а нужно ли?
FootballMan
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 7
08.02.2016, 14:50  [ТС]     Функция rand() #3
_Valera_,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
do
 {
  number = Random(first, last);
  std::cout << "Guess the number (from 1 to 100): " << number << "\n";
  std::cout << "1.You guessed" << "\n";
  std::cout << "2.Too hight" << "\n";
  std::cout << "3.Too low" << "\n";
  
  std::cin >> count;
  switch (count)
  {
  case 1: state = true;
   break;
  case 2: last = number - 1;
   break;
  case 3: first = number + 1;
   break;
  }
 }while(!state)
только нужно саму функцию рандом еще написать. а я незнаю как написать чтобы оно правильно работало

Добавлено через 1 минуту
_Valera_, зачем от это
C++
1
int number = rand() % last + 1;
? Диапазон от 1 до 100 рандомных значений

Добавлено через 2 минуты
я так написал функцию
C++
1
2
3
int Random(int first, int last) {
  return first + rand() % (last  - first);
}
Добавлено через 4 минуты
проверил, правильно работает
Yandex
Объявления
08.02.2016, 14:50     Функция rand()
Ответ Создать тему
Опции темы

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