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

Реализовать случайный выбор одного из элементов массива типа std::string

14.08.2016, 14:07. Просмотров 316. Ответов 5
Метки нет (Все метки)

Доброго времени суток, господа!

Возник вопрос о том как в random выводить сообщение используя string
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
#include <iostream>
#include<time.h>
#include<string>
#include <cstdlib>
using namespace std;
 
void main()
{
    srand((unsigned int)time(0));
    setlocale(LC_ALL, "rus");
 
    const int WOODEN_CHEST(3);
    string items[] = {"axe", "helm", "shooes"};
    int quantity = 0;
    string inventory;
 
    for ( int i = 0; i < WOODEN_CHEST; i++)
    {
        items[i] = rand() % 20;
        quantity = i;
        inventory = items[i];
    }
    cout << "You've Got " << inventory << endl;
    cout << "And you have: "<< quantity+1<<" items in your bag" << endl;;
    
}
Заранее спасибо!=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2016, 14:07
Ответы с готовыми решениями:

Операция std::cout для Объекта типа std::string
Кто детально объяснит почему не выводит ? Дает вот так &quot;Отсутствует оператор...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri
на вод поступают 2 строки типа string. определить количество вхождений строки 2...

Здравствуйте! Создал класс std::string. Не создается объкт типа string... Подскажите в чем причина?
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; //using...

Как присвоить значение одного из элементов массива типа char переменной типа int?
С++ начал буквально только что так что буду благодарен за терпение и понимание...

Присвоение объекту типа string рандомный элемент из массива типа string
Добрый вечер, дорогие форумчане. Я столкнулся с проблемой. Как присвоить...

5
nmcf
6271 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
14.08.2016, 14:30 #2
Понятно объясни что хочешь сделать.
0
meJevin
156 / 148 / 92
Регистрация: 18.11.2015
Сообщений: 677
Завершенные тесты: 1
14.08.2016, 14:31 #3
Цитата Сообщение от Sickle Посмотреть сообщение
в random выводить сообщение используя string
что?

у тебя есть три предмета: топор, шлем, сапоги. тебе, как я понял, надо из сундука случайный предмет из уже имеющихся получить, верно?
0
Sickle
0 / 0 / 0
Регистрация: 24.06.2016
Сообщений: 17
14.08.2016, 16:43  [ТС] #4
Абсолютно точно
0
meJevin
156 / 148 / 92
Регистрация: 18.11.2015
Сообщений: 677
Завершенные тесты: 1
14.08.2016, 17:32 #5
Sickle, попробуй так

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
#include <iostream>
#include <ctime>
#include <string>
#include <vector>
#include <random>
 
std::default_random_engine randomEng(time(0));
 
int main()
{
    std::vector<std::string> availableItems{ "Axe", "Helmet", "Boots" };
 
    // availableItems.emplace_back("ITEM_NAME"); // добавление предмета в сундук
    availableItems.emplace_back("Sword");
 
 
    std::cout << "Available items:\n";
    for (const auto & item : availableItems) { std::cout << item << "\n"; }
 
    std::uniform_int_distribution<size_t> indexGenerator(0, availableItems.size() - 1);
 
    std::string randomItem = availableItems[indexGenerator(randomEng)];
    std::cout << "\n\nRandom item: " << randomItem << std::endl;
 
    std::cin.get();
 
    return 0;
}
2
Knuckles124
2 / 2 / 3
Регистрация: 05.07.2016
Сообщений: 12
14.08.2016, 18:28 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <Windows.h>
#include <string>
 
#include <cstdlib>
#include <ctime>
 
int main(int argc, char* argv[])
{
    std::string items[] = { "axe", "helm", "shooes" };
    srand(static_cast<unsigned int>(time(NULL)));
    int index = rand() % _countof(items);
 
    std::cout << items[index] << std::endl;
    return 0;
}
0
14.08.2016, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2016, 18:28

Как скопировать строку типа std::string в другую строку такого же типа?
Хотел скопировать строку #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Инициализировать массив строк типа std::string
Есть массив из строк, надо присвоить ему значения. Возникла странная проблема....

Запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’
private: std::string firstName; }; std::string...


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

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

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