广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 7656 个阅读者
 
<<   1   2  下页 >>(共 2 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
karen7710
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x9
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][求助] 投掷两个骰子100次,计算2~12点出现的机率
题目:
投掷两个骰子100次,计算2~12点出现的机率

而以下的程式是计算1~12点出现的机率~
要算2~12点的机率该怎么改呢?

#include <stdlib.h>
#include <time. ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



献花 x0 回到顶端 [楼 主] From:欧洲 | Posted:2007-05-26 18:39 |
blueshiang
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

= =
这程式真的是你写的吗????

他把每一次 随机出现的数字
对应在dice[0~11] 这阵列中 在 累加

那你想 你要2~12 的显示次数
你要如何改呢????


献花 x0 回到顶端 [1 楼] From:台湾新世纪资通股份有限公司 | Posted:2007-05-27 17:31 |
karen7710
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x9
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

那是我参考课本打的!
所以你的意思是在dice[point-1]++;
这个地方做修改啰?


献花 x0 回到顶端 [2 楼] From:欧洲 | Posted:2007-05-27 17:39 |
GNUGCC
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x11
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

程式的逻辑没有错, 如果改 2~12 只要改 point=rand()%12+2;
让程式都只会在 dice[1] 的位置开始计数


献花 x0 回到顶端 [3 楼] From:台湾 | Posted:2007-05-27 22:16 |
blueshiang
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

喔喔 楼上的想法才是对的

忘记两个骰子最小点数 是 2
所以最大点数是 12

所以乱数范围 只能设定成 2~12 这几种出现

不能有1 出现

拍谢 误导啰你 表情


献花 x0 回到顶端 [4 楼] From:台湾新世纪资通股份有限公司 | Posted:2007-05-27 22:45 |
gamewalk
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x18
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

point=rand()%12+2;
这样是不是会跑出13阿?因为 rand()%12应该是会产生0~11的数,如果整体加2会变成 2~13


[ 此文章被gamewalk在2007-05-27 23:56重新编辑 ]


献花 x0 回到顶端 [5 楼] From:台湾永大数位动力公司 | Posted:2007-05-27 23:40 |
GNUGCC
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x11
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

其实有其他方法~~~目前想到的是改成 point=rand()%11+2;
而且也不会超过阵列范围, 先试看看吧...


献花 x0 回到顶端 [6 楼] From:台湾 | Posted:2007-05-27 23:49 |
gamewalk
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x18
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

如果是骰两个骰子(应该是指1~6+1~6),可能要分开产生乱数在把他们相加起来喔,结果应该会与随机产生2~12的数不同喔...楼主的范例比较像是投掷一个12面骰子(假设有这种东西的话)的结果....


献花 x0 回到顶端 [7 楼] From:台湾永大数位动力公司 | Posted:2007-05-28 00:31 |
海洋天使 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x35
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

好像讨论的有些结果了!

小地翻了一下我自己有留存的档案(学习C++所写的)

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>

using namespace std;

int main()
{
     srand((unsigned)time(NULL));

     int array = 36000;            //骰多少次

     int count[13] = {0};

     for(int i=0; i<array; i++)
     {
           int bone1 = rand()%6 + 1;
           int bone2 = rand()%6 + 1;

           count[ bone1+bone2 ]++;
     }


     //以下开始 Print

     cout << "总和\t掷出的次数\t掷到的机率" << endl;
     cout << "-----------------------------------------" << endl;

     for(int i=2; i<=12; i++)
           cout << setw(4) << i << "\t" << setw(10) << count << "\t" << ((double)count/array) << endl;
     
     system("pause");      
     return 0;
}

参考一下^^


献花 x0 回到顶端 [8 楼] From:未知地址 | Posted:2007-05-28 01:22 |
gamewalk
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x18
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

楼上的应该就对了...不过有个小地方要注意....

cout << setw(4) << i << "\t" << setw(10) << count << "\t" << ((double)count/array) << endl;

两个count的地方没有加到索引值,应该是count[i]....

我想可能是因为这里如果直接贴程式码"[i]"这部份似乎会被吃掉,刚才有试一下


[ 此文章被gamewalk在2007-05-28 12:57重新编辑 ]


献花 x0 回到顶端 [9 楼] From:台湾永大数位动力公司 | Posted:2007-05-28 12:50 |

<<   1   2  下页 >>(共 2 页)
首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.020607 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言