繁体   English   中英

如何找到结构数组的最大值和最小值

[英]how to find maximum and minimum values of a structure array

我有一个类型为float的结构数组:

students[num].height 

其中包含程序中的20个值。 我如何编写函数来查找此结构数组的最大值和最小值?

将float变量max设置为数组第一个元素的height成员,还将float变量min设置为第一个元素的height成员。 循环遍历所有结构。 在循环播放时,如果高度大于max,请将max设置为该数字。 如果高度小于最小值,则将最小值设置为该高度。

   // student tStudentsArray[20] = ... 
   std::max_element(tStudentsArray, tStudentsArray + tNumberOfStudents,
        [] (const student& pLeft, const student& pRight) {
            return pLeft.height < pRight.height;
        });

..任何不包含C ++标准库的C ++类都是有问题的。

是通过函数填充结构,还是已经填充结构?

如果通过函数填充它,则可以保留2个变量max(最初设置为MIN_INT)和min(最初设置为MAX_INT)。

对于每个插入,请检查该值是大于max还是小于min,如果是,则将它们设置为正确。

如果没有通过您的函数来填写,我会附上jonsca的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM