-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapi.cpp
More file actions
39 lines (33 loc) · 844 Bytes
/
api.cpp
File metadata and controls
39 lines (33 loc) · 844 Bytes
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
#include "api.hpp"
#include <iostream>
#include <random>
#include <vector>
std::vector<int> roll(int die, int times) {
std::vector<int> rolls;
for (unsigned int i = 0; i < times; ++i) {
rolls.push_back(genInt(die));
}
return rolls;
}
int genInt(int max) {
std::random_device rd;
std::mt19937 e2(rd());
std::uniform_int_distribution<int> dist(1, max);
return dist(e2);
}
void printVector(int die, std::vector<int> vec) {
std::cout << "Roll a d" << die << ", " << vec.size() << " times" << std::endl;
std::cout << "Results: ";
for (unsigned int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
std::cout << "Sum = " << sumVector(vec) << std::endl;
}
int sumVector(std::vector<int> vec) {
int sum = 0;
for (unsigned int i = 0; i < vec.size(); ++i) {
sum += vec[i];
}
return sum;
}