У меня есть весь код, где пользователь может выбрать number of sides
из двух игральных костей, total number of rolls
, и он печатает histogram of the values rolled
. Я не могу понять, как сделать так, чтобы frequency
каждого значения отображались на гистограмме рядом с соответствующими номерами. У меня есть, как мне кажется, весь соответствующий код, если нет, я добавлю еще. Я просмотрел этот сайт и нашел в основном matlab code
.
case 2:
printf("\nEnter number of trials: ");
fgets(runinput, sizeof(runinput), stdin);
sscanf(runinput,"%d",&n);
if (n > nmax){
printf("Your choice of %d has exceeded the max value of trials. Value set to max of %d.",n,nmax);
n = nmax;
printf("\nRolling dice...");
tried++;
}
else{
printf("\nRolling dice...");
}
for (i=0; i <= s; i++){
a[i] = 0;
}
for (i=0; i <=n-1 ; i++){
d1 = rand()%s;
d2 = rand()%s;
result = d1+d2;
x = random()%(2*s-1);
a[result]++;
results[i] = a;
}
break;
case 3:
if (tried != 0){
printf("\nPrinting histogram...\n");
for (i=0; i <= 2*s-2; i++){
freq = results[i];
printf("%5i| %10i - ", i+2, freq);
for (j=0; j < a[i]+2; j++){
while (a[i] > 0){
if (a[i] >= 100){
printf("X");
a[i]=a[i]-100;
}
else if (a[i]>=10){
printf("x");
a[i]=a[i]-10;
}
else {
printf("*");
a[i]=a[i]-1;
}
}
}
printf("\n");
}
puts("X = 100, x = 10, * = 1\n");
break;
Все, что я пытаюсь добавить, это частота появления каждого числа на гистограмме, любая помощь и объяснение приветствуются, я только в CS239
, поэтому я все еще учусь. Заранее спасибо!
РЕДАКТИРОВАТЬ: какой код мне нужен, чтобы использовать массив для вычисления частоты каждого числа, которым управляют? Иногда я нахожу людей, которые делают похожие вещи, но с гораздо более продвинутыми методами программирования, чем я знаю, как их использовать или которые будут приняты моим инструктором.