我想总结每位参赛者从每位裁判得到的分数(这是存储在2D数组中),我希望将其归纳为1D数组。例如:
参赛者1:
法官1:5分
法官2:3分
该方法应该这样做:array [0] = 5 + 3
这是我创建的内容,但如果judge
大于contestant
,则无效,我也不相信它能正常运行。我已经尝试过调试而没有任何进一步的成功。 allPoints是包含所有信息的2D数组;例如,allPoints[0][0]
是judge 1
给contestant 1
的内容。
有什么想法吗?
int output = 0;
for (int t = 0; t < judge; t++) {
for(int i = 0; i < contestant; i++) {
output += allPoints[t][i];
}
Sum[t] = output;
output = 0;
}
答案 0 :(得分:1)
可能你在循环中混淆了。 如果我完全猜到你的问题,那么解决方案就是
int output = 0;
for(int i=0; i<contestant; i++){
for(int t=0; t<judge; t++){
output+= allPoints[t][i]; //It has a chance to be allPoints[i][t] according how you generate allPoints
}
Sum[i] = output;
output = 0;
}
对于所有contestant
给出的每个judge
计算总点数,并将其放入Sum
。因此Sum
包含每个contestant
的总分。
答案 1 :(得分:1)
如果allPoints [i] [j],如果我是裁判,j是参赛者。你需要验证这一点。正确的代码是:
int output = 0;
for (int j = 0; j < contestant; j++) {
for(int i = 0; i < judge; i++) {
output += allPoints[i][j];
}
Sum[j] = output;
output = 0;
}
基本上每位参赛者需要总结每位裁判给出的分数。你现在正在做的是每个法官你总结他给所有参赛者的分数。