我正在编写一个应用程序,其中一群人必须互相标记。所以我有一个像这样的“用户”数组:
0: paul
1: sally
2: james
3: bananaman
第一项Paul被其他三项标记(十分之一),然后第二项Sally被另外三项(索引2,3,0)标记,依此类推,以创建“结果”数组喜欢这个:
0: paul, sally, 5
1: paul, james, 7
2: paul, bananaman, 9
3: sally, james, 4
我正在跟踪当前的“得分手”和“正在评分”的整数,因为新的分数会被添加,如下所示:
scorer = 1, being_scored = 0
scorer = 2, being_scored = 0
scorer = 3, being_scored = 0
scorer = 0, being_scored = 1
scorer = 2, being_scored = 1
然而,该组可以在任何时候停止评分,并且可以加载不同的组会话,这也是部分评分。
我的问题是如何仅根据结果[数组计数]生成“得分者”和“被评分”值。
据推测,这是[结果计数]除以[用户数] - 1,得到的整数“被评分”,其余的是“得分者”。
但经过漫长的一周后,我的大脑已被彻底炸掉了,而这似乎并没有起作用。
任何帮助非常感谢
麦克
答案 0 :(得分:0)
忽略您添加的评论“结果”数组是多维的,只包含具有三个字段/属性的结构/对象:得分,记分,得分;然后你肯定只是去了“结果”的最后一个元素(在索引[Results count]-1
),选择得分和得分手然后继续你的序列中的下一个 - 你可能已经在循环的情况下已经有了逻辑没有被打断(类似于“如果最后一个得分者在被评分之前[通过使用模运算将数组视为循环缓冲区],然后提高了as_scored和init scorer else advance scorer”)。
但那听起来相当明显,但你确实说过大脑被炒了......
不忽略您添加的评论意味着您有一个二维的分数数组,您正在以某种模式填写?如果这是一个预先分配的某种数字类型的数组,那么如果你用一个无效的分数(可能是负数?)来启动它,你会按照你的模式扫描数组,寻找第一个无效分数并从那里重新开始。如果它是单维数组的动态单维数组,那么外部数组的count
会告诉你is_scored,最后一个内部数组的count
告诉你得分手...
但这听起来也很明显......
也许有些睡觉?然后重新构建问题,如果你仍然卡住了?或者这个小脑袋可能完全错过了这一点,其他人会为你找出你的问题。
[这是一个评论而不是一个答案,但它的评论太长了,抱歉。]