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

Рандом значений вектора - C++

Восстановить пароль Регистрация
 
valent11
 Аватар для valent11
8 / 8 / 2
Регистрация: 30.11.2011
Сообщений: 64
13.01.2016, 18:11     Рандом значений вектора #1
Задача- написать игру камень,ножници,бумага. Используя вектор для хранения значений, и switch .
Не получаться рандом из вектора.

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
39
40
41
42
#include <iostream>
#include <vector>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char** argv) {
    setlocale(LC_ALL,"Russian");
    
    
    vector<string>game(3);
    game[0]="камень";
    game[1]="ножници";
    game[2]="бумага";
    
    
    char var;
    cout<<"\tИгра Камень,ножници,бумага!"<<endl;
    cout<<"Выбирите (k-камень, n- ножници,b -бумага) :";
    cin>>var;
    
    
        switch(var){
        
        case 'k': cout<<"Вы выбрали КАМЕНЬ"<<"Программа вибрала"<<rand() % game<<endl;
            
        break;
        
        case 'n':cout<<"Вы выбрали НОЖНИЦИ"<<"Программа вибрала"<<rand()<<endl;
        break;
        
        case 'b':cout<<"Вы выбрали БУМАГУ"<<"Программа вибрала "<<rand()<<endl;
        break;
        
        default: cout<<"Ничего не выбрано!"<<endl;
        break;
        }
    
    
    system("pause");
    return 0;
}
Нужна подсказка как сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2016, 18:11     Рандом значений вектора
Посмотрите здесь:

Рандом C++
Рандом C++
Считывание значений двумерного вектора C++
Ноли вместо значений и нерабочий рандом, запутался с типами данных C++
рандом C++
Вывод значений вектора на экран C++
Рандом C++
Если возможно, упорядочить булевы вектора, или вывести сообщение "Вектора несравнимы" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Valera_
 Аватар для _Valera_
486 / 368 / 94
Регистрация: 27.01.2015
Сообщений: 1,588
13.01.2016, 18:21     Рандом значений вектора #2
Цитата Сообщение от valent11 Посмотреть сообщение
rand() % game
C++
1
 case 'k': cout<<"Вы выбрали КАМЕНЬ"<<"Программа вибрала"<<game[rand() % 3]<<endl;
и тд. Делить нужно на число, а ты на объект поделил .

http://cppstudio.com/post/339/

Добавлено через 5 минут
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 <vector>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char** argv) {
    setlocale(LC_ALL,"Russian");
    
    
    vector<string>game(3);
    game[0]="камень";
    game[1]="ножници";
    game[2]="бумага";
    
    
    int var;
    cout<<"\tИгра Камень,ножници,бумага!"<<endl;
    cout<<"Выбирите (0-камень, 1- ножници, 2 -бумага) :";
    cin>>var;
    
    if(var <= 2 && var >=0)    
        cout<<"Вы выбрали"<<game[var]<<"Программа вибрала"<<game[rand() % 3]<<endl; 
    else
      cout<<"Ничего не выбрано!"<<endl;
 
    system("pause");
    return 0;
}
GbaLog-
Не Эксперт C++
1432 / 618 / 174
Регистрация: 24.08.2014
Сообщений: 2,507
Записей в блоге: 1
Завершенные тесты: 2
13.01.2016, 18:56     Рандом значений вектора #3
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
39
40
41
42
43
44
45
46
#include <iostream>
#include <vector>
#include <random>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char** argv) {
    setlocale(LC_ALL,"Russian");
    
    
    vector<string>game(3);
    game[0]="камень";
    game[1]="ножници";
    game[2]="бумага";
    mt19937 gen(time(nullptr));
    uniform_int_distrinbution<int> dist(0,2);
    
    
    char var;
    cout<<"\tИгра Камень,ножници,бумага!"<<endl;
    cout<<"Выбирите (k-камень, n- ножници,b -бумага) :";
    cin>>var;
    
    
        switch(var){
        
        case 'k': cout<<"Вы выбрали КАМЕНЬ"<<"Программа вибрала"<<game[dist(gen)]<<endl;
            
        break;
        
        case 'n':cout<<"Вы выбрали НОЖНИЦИ"<<"Программа вибрала"<<game[dist(gen)]<<endl;
        break;
        
        case 'b':cout<<"Вы выбрали БУМАГУ"<<"Программа вибрала "<<game[dist(gen)]<<endl;
        break;
        
        default: cout<<"Ничего не выбрано!"<<endl;
        break;
        }
    
    
    system("pause");
    return 0;
}
Yandex
Объявления
13.01.2016, 18:56     Рандом значений вектора
Ответ Создать тему

Метки
вектор, рандом, с++
Опции темы

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