2015-10-15 4 views
0

Я пишу программу прокатки кубиков, которая катит кубик и печатает гистограмму, показывающую подсчеты числа каждого номера. (1-6)Как обновить гистограмму без условных обозначений?

Например:

1-XXXXXXX

2-ххх

3-XXXXXXXXX

4-хх

5- 6-х

Программа запрашивает у пользователя, сколько раз должна умирать сверните, так что сколько раз цикл должен запускаться и катить кубик. Каждое число на матрице представлено в программе как векторный элемент, поэтому, например, число раз 5 (например, 7 раз) будет вектором [4] == 7 Моя проблема в том, что мне не разрешено использовать оператор switch или if-statements для обновления счетчиков каждого номера. Я спросил свою TA, и он сказал мне, что vector :: operator [] будет работать, но я даже не знаю, что это делает, и онлайновые ссылки не помогают. Кто-нибудь есть идея, как это сделать, потому что я довольно новичок в C++ и моем профи. не многому научил. благодаря!

+1

Вы только что использовали 'vector :: operator []', и в следующем предложении вы говорите, что не знаете, что он делает!?!? На самом деле не совсем ясно, в чем проблема. Пожалуйста, покажите свой код. – user463035818

+1

вы можете получить слишком много недочетов, не паникуйте –

+1

, просто чтобы уточнить: «... например, число раз 5 происходит (скажем, 7 раз), будет вектором [4] == 7" <- это 'vector :: operator []' – user463035818

ответ

1

В информации, приводимой вами в этом вопросе довольно мало, я предполагаю, что у вас есть (почти) все работает и работает, и вы просто должны знать, как приращение вектора с помощью [] ....

int r = random number between 1 and 6 
my_vector[r-1] += 1; 

thats it :)

+0

Я вижу большое спасибо. Я не думал использовать номер, который появляется для доступа к соответствующему векторному элементу. – Flower

+0

@Flower не забудьте принять ответ;) Не то, чтобы я отчаянно нуждался в репутации, но часто он забыт – user463035818

Смежные вопросы