#pragma warning(disable:4996)
// INCLUDES
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// DEFINES
#define LOWER_DIE 1 // LOWER_DIE must be at least 1
#define UPPER_DIE 10
#define TRIALS 10000
// PROTOTYPES
int genRand(int, int);
int getTwoDieSum(int, int);
// MAIN
int main( int total) {
int numberArray[2 * UPPER_DIE + 1] = { '0', '0', '0', '0', '0', '0', '0','0','0','0','0', '0', '0' };// holds frequency of rolls
int roll = total;
int i = 0;
srand((unsigned int)time(NULL));
for (i = 0; i < TRIALS; i++) {
getTwoDieSum( LOWER_DIE, UPPER_DIE);
numberArray[roll] == numberArray[roll] + 1;
}
printf("ROLL VALUE : FREQUENCY\n");
printf("2\t: %d\n", numberArray[2]);
printf("3\t: %d\n", numberArray[3]);
printf("4\t: %d\n", numberArray[4]);
printf("5\t: %d\n", numberArray[5]);
printf("6\t: %d\n", numberArray[6]);
printf("7\t: %d\n", numberArray[7]);
printf("8\t: %d\n", numberArray[8]);
printf("9\t: %d\n", numberArray[9]);
printf("10\t: %d\n", numberArray[10]);
printf("11\t: %d\n", numberArray[11]);
printf("12\t: %d\n", numberArray[12]);
return 0;
}
// FUNCTION IMPLEMENTATIONS
int genRand(int lower, int upper) {
int range = (upper - lower) + 1;
return rand() % range + lower;
}
int getTwoDieSum( int lower, int upper) {
int rollOne = 0;
int rollTwo = 0;
int total = 0;
rollOne = genRand(lower, upper);
rollTwo = genRand(lower, upper);
total = rollOne + rollTwo;
return total;
}
What I have so far, it is supposed to be generating random numbers and then populating the correct element of the array. Keeps outputting 48 for all the printf() statements. Any ideas where I am messing up? I think it is in genRand() area or getTwoDieSum(). I am required to use the following shell, I am not really sure what everything is supposed to be doing which is why I am messing up. Also I am not really sure where the int lower and int upper are coming from in:
int genRand(int lower, int upper) {
int range = (upper - lower) + 1;
return rand() % range + lower;
}
My question is more of where am I messing up and where is the int lower and int upper coming from and am I using the random seed generator correctly?
Shell required to be used:
// INCLUDES
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// DEFINES
#define LOWER_DIE 1 // LOWER_DIE must be at least 1
#define UPPER_DIE 10
#define TRIALS 10000
// PROTOTYPES
int genRand(int, int);
int getTwoDieSum();
// MAIN
int main() {
int numberArray[2 * UPPER_DIE + 1]; // holds frequency of rolls
// initialize numberArray
// seed the random number generator
// roll the dice and keep track of what was rolled in the array
// display results
return 0;
}
// FUNCTION IMPLEMENTATIONS
int genRand(int lower, int upper) {
int range = (upper - lower) + 1;
return rand() % range + lower;
}
int getTwoDieSum() {
// YOUR IMPLEMENTATION GOES HERE
Aucun commentaire:
Enregistrer un commentaire