我有一个float类型的结构数组:
students[num].height
包含程序中的20个值。 如何编写函数来查找此结构数组的最大值和最小值?
答案 0 :(得分:3)
将float variable max设置为数组第一个元素的height成员,并将float variable min设置为第一个元素的height memeber。循环遍历所有结构。在循环时,如果高度大于max,则将max设置为该数字。如果高度小于min,则将min设置为该高度。
答案 1 :(得分:3)
答案 2 :(得分:2)
// student tStudentsArray[20] = ...
std::max_element(tStudentsArray, tStudentsArray + tNumberOfStudents,
[] (const student& pLeft, const student& pRight) {
return pLeft.height < pRight.height;
});
..任何不涵盖C ++标准库的C ++类都值得怀疑。
答案 3 :(得分:1)
结构是通过你的功能填充的,还是已经填满了?
如果它通过你的函数填充,你可以保持2个变量max(最初设置为MIN_INT)和min(最初设置为MAX_INT)。
对于每次插入检查,如果该值大于最大值或小于最小值,如果是,请将它们设置为正确。
如果没有通过你的功能填补,我会选择jonsca的答案。