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

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

Войти
Регистрация
Восстановить пароль
 
valent11
8 / 8 / 2
Регистрация: 30.11.2011
Сообщений: 64
#1

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

13.01.2016, 18:11. Просмотров 229. Ответов 2

Задача- написать игру камень,ножници,бумага. Используя вектор для хранения значений, и 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++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; int main() { FILE...

Вывод значений вектора на экран - C++
есть правильно заполненный вектор: vector&lt;Employee*&gt; emp; один из экземпляров: Bytime bt1(&quot;Ahmed&quot;, 2, 6.0); необходимо...

Считывание значений двумерного вектора - C++
ну вот собственно и проблема не массива, а вектора именно #include &lt;vector&gt; using namespace std; int main() { vector&lt;...

Получение максимального и минимального значений вектора целого типа - C++
Всем привет! Что-то я опять на быдлокодил, задание простое: Определить интерфейс (тип, имя, входные и выходные параметры) функции. ...

Рандом - C++
Как проще всего рандомно разыграть для переменной значение 1 или 0....?

рандом - C++
Нижно массив заполнить рандомом #include &quot;stdafx.h&quot; #include &lt;iostream&gt; int _tmain(int argc, _TCHAR* argv) { double a...

Рандом - C++
Нужна помощь!!!! Вот исходный код: #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;time.h&gt; using...

рандом - C++
подскажите,плз,как рандомно выводить значения типа цццАцц, где ц-цифра, А-буква.

рандом - C++
подскажите что не так #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; using namespace std; int main() ...

Рандом - C++
возникла проблема - я создал массив, состоящий из десяти рандомных чисел. Только вот рандомными они становиться не хотят. Правда, на одном...

Не работает рандом - C++
Здравствуйте, я тут столкнулся с проблемой, хотел написать функцию рандома от x до y, x и y передаются как параметры в функцию, так вот,...

Про рандом - C++
Как с++ одномерный массив из 10 элементов прорандомить так ,чтобы все элементы массива в сумме давали 1000 и были положительными (ноль...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_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-
Любитель чаепитий
2624 / 1163 / 285
Регистрация: 24.08.2014
Сообщений: 4,250
Записей в блоге: 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;
}
Ответ Создать тему
Опции темы

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