关于‘Lottery Balls’作业中vector实现要求的技术咨询
Lottery Balls作业疑问解答
C等级要求确认
你的理解完全正确:
- 需要创建两个
vector<int>:- 第一个存储用户输入的10个数字(按照基础任务流程,通过for循环让用户逐个输入填充)
- 第二个生成1-21范围内的10个不重复随机数(注意彩票球不会重复,需确保随机数无重复)
- 待两个vector填充完成后,使用嵌套循环比对所有元素:外层循环遍历其中一个vector的每个元素,内层循环遍历另一个vector的每个元素,一旦发现匹配值,输出"bingo"。
A等级任务明确
A等级要求用二维vector模拟真实Bingo牌,核心逻辑贴近真实玩法:
- 二维vector结构:采用5×5的二维数组(对应真实Bingo牌的5列5行),其中第三行第三列(N列中间格)设为自由格(可标记为
0或特殊值,视为已匹配) - 数字规则:每列对应固定数字范围,对应B/I/N/G/O五个字母:
- B列(第0列):1-15
- I列(第1列):16-30
- N列(第2列):31-45(中间格为自由格)
- G列(第3列):46-60
- O列(第4列):61-75
- 核心流程:
- 生成符合规则的5×5二维vector作为用户的Bingo牌(每列随机生成对应范围的不重复数字,中间格设为自由格)
- 生成1-75范围内的不重复随机数序列(模拟彩票球抽取)
- 逐个抽取随机数,遍历二维vector标记匹配的数字
- 每次标记后检查是否达成Bingo条件:横排全匹配、竖列全匹配、两条对角线全匹配(自由格默认算匹配),达成则输出"bingo"并终止程序
内容的提问来源于stack exchange,提问作者babula40
相关产品推荐
相关产品推荐

