summaryrefslogtreecommitdiffstats
path: root/Master/Modellbildung_und_Simulation/Aufgabenblatt2/DiceSim/src/DiceSim.cpp
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Modellbildung_und_Simulation/Aufgabenblatt2/DiceSim/src/DiceSim.cpp
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Modellbildung_und_Simulation/Aufgabenblatt2/DiceSim/src/DiceSim.cpp')
-rw-r--r--Master/Modellbildung_und_Simulation/Aufgabenblatt2/DiceSim/src/DiceSim.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/Master/Modellbildung_und_Simulation/Aufgabenblatt2/DiceSim/src/DiceSim.cpp b/Master/Modellbildung_und_Simulation/Aufgabenblatt2/DiceSim/src/DiceSim.cpp
new file mode 100644
index 0000000..fcbd64a
--- /dev/null
+++ b/Master/Modellbildung_und_Simulation/Aufgabenblatt2/DiceSim/src/DiceSim.cpp
@@ -0,0 +1,47 @@
+/*
+ * DiceSim.cpp
+ *
+ * Created on: 13.05.2011
+ * Author: sven
+ */
+
+#include <cstdlib>
+#include <ctime>
+#include <iostream>
+
+#include "DiceSim.h"
+
+DiceSim::DiceSim(unsigned numDice, unsigned numRolls)
+:mNumDice(numDice),mNumRolls(numRolls),mEyesAbsFreq((numDice * 6))
+{
+ srand(time(NULL));
+ for(mResultIter = mEyesAbsFreq.begin() ; mResultIter != mEyesAbsFreq.end() ; mResultIter++)
+ {
+ *mResultIter = 0;
+ }
+ for(unsigned n=0; n< numRolls; n++)
+ {
+ unsigned eyesSum = 0;
+ for(unsigned d=0; d<numDice; d++) {
+ eyesSum += rollDie();
+ }
+ mEyesAbsFreq.at(eyesSum - numDice)++;
+ }
+ unsigned freqSum = 0;
+ for(mResultIter = mEyesAbsFreq.begin() ; mResultIter != mEyesAbsFreq.end() ; mResultIter++)
+ {
+ freqSum += *mResultIter;
+ }
+ std::cout << "Num rolls: " << freqSum << std::endl;
+}
+
+DiceSim::~DiceSim() {
+ // TODO Auto-generated destructor stub
+}
+
+unsigned DiceSim::rollDie()
+{
+ unsigned eyes = 0;
+ eyes = 1 + (int) (6.0 * (rand() / (RAND_MAX + 1.0)));
+ return eyes;
+}