【发布时间】:2021-12-21 08:55:03
【问题描述】:
我目前正在做 cs50 和 pset3,我遇到了这个棘手的问题集 Runoff 所以基本上,这是 vote() 函数的解决方案,它搜索特定的候选人并返回 true 并记录投票 如果使用决选式选举找到候选人,其中选民按排名顺序给出偏好,则二维数组 preferences 已经被初始化。 Candidates 是另一个包含候选人列表的数组
// Record preference if vote is valid
bool vote(int voter, int rank, string name)
{
for (int i = 0; i < candidate_count; i++){
if (strcmp(candidates[i].name,name)==0){
preferences[voter][rank] = i;
return true;
}
}
只是我真的很困惑
preferences[voter][rank] = i;
当找到这样的候选人/为真时执行。每次循环运行时 = i; 是什么意思?为什么不preferences[voter][rank]=candidates[i];
一直在努力解决这个问题,因为我无法真正理解它,任何帮助将不胜感激。谢谢。
【问题讨论】: