[英]C++ 2D array function
基本上我有,
double marks [STUDENTS][ASSIGNMENTS] = { (0.1,0.2,0.3,0.4,0.5,0.6,0.7),
(1,0.9,0.8,0.7,0.6,0.5,0.5),
(0.8,0.8,0.8,0.8,0.8,0.8,0.8),
(0.8,0.9,0.7,0.8,0.9,0.7,0.8),
(0.5,0.6,0.7,0.8,0.9,0.5,0.9)};
我想得到:来自studentAverages=calculateStudentAverages(marks);
double studentAverages [STUDENTS]
studentAverages=calculateStudentAverages(marks);
double studentAverages [STUDENTS]
studentAverages=calculateStudentAverages(marks);
使用:
double calculateStudentAverages (double marks[STUDENTS][ASSIGNMENTS]){
double averages[STUDENTS];
double average;
for (int i = 0; i < STUDENTS; i++) {
for (int j = 0; j < ASSIGNMENTS; j++) {
average = average + marks[i][j];
}
averages[i]=average/ASSIGNMENTS;
}
return averages;
}
但是我得到“无法从'double [5]'转换为'double'”和“无法从'double'转换为'double [5]'”
您的错误之一是因为您的函数被声明为返回单个double
但您试图返回一个doubles
数组。 所以你要么需要改变你的函数标题以适应它,要么只返回一个double
与错误无关,但您绝对应该在开始时将average
初始化为0.0
,否则您在计算中有未定义的行为
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.