寻找For循环数组C ++中最大和最小值的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寻找For循环数组C ++中最大和最小值的值相关的知识,希望对你有一定的参考价值。

好吧,我的代码(如下所示)基本上可以获得全年最大和最小的温度值。现在这样有效,但是当我遇到问题时,我想出一个解决方案,当数组中找到最大值时,将增加值“j”。我需要这个,因为该程序的主要目标是输出找到最大值和最小值的月份。我已经在这段代码中编写了一个函数,它将递增的值转换为字符串月份。

TLDR:我需要找出如何知道“j”的值是什么,我的程序找到了最大值和最小值。

所以,如果你们能够提供任何见解,我将如何实现这一点,这将是太棒了!

     //Gathering Largest Temperature:
    for(int j = 0; j < size; j++)
    {
        if(yearData[j].highTemperature > highestTemperature)
           highestTemperature = yearData[j].highTemperature;
    }

    //Gathering Smallest Temperature:
    for(int j = 0; j < size; j++)
    {
        if(yearData[j].lowTemperature < lowestTemperature)
            lowestTemperature = yearData[j].lowTemperature;
    }
答案
//Gathering Largest Temperature:
auto highestTemperature = yearData[0].highTemperature;
int highestTemperatureDate = 0;
for(int j = 0; j < size; j++)
{
    if(yearData[j].highTemperature > highestTemperature)
    {
       highestTemperature = yearData[j].highTemperature;
       highestTemperatureDate = j;
    }
}

//Gathering Smallest Temperature:
auto lowestTemperature = yearData[0].lowTemperature;
int smallestTemperatureDate = 0;
for (int j = 0; j < size; j++)
{
    if (yearData[j].lowTemperature < lowestTemperature)
    {
        lowestTemperature = yearData[j].lowTemperature;
        smallestTemperatureDate = j;
    }
}

我为最小和最高温度添加了一个int

另一答案

使用std,您可能会:

//Gathering Largest Temperature:
auto max = std::max_element(std::begin(yearData), std::end(yearData),
                            [](const auto& lhs, const auto& rhs){
                                return lhs.highTemperature < return rhs.highTemperature;
                            });

auto max_index = std::distance(std::begin(yearData), max);

// Gathering Smallest Temperature:
auto min = std::min_element(std::begin(yearData), std::end(yearData),
                            [](const auto& lhs, const auto& rhs){
                                return lhs.lowTemperature < return rhs.lowTemperature;
                            });
auto min_index = std::distance(std::begin(yearData), min);

以上是关于寻找For循环数组C ++中最大和最小值的值的主要内容,如果未能解决你的问题,请参考以下文章

怎么用for循环计算数组最大值?代码怎么写

C语言编程:任意输入10个整数放入数组中,然后求其中的最大值和最小值

C语言查找数组中的值

分享JS数组求和与求最大值的方法

编写一个c语言程序,输入5个数,求它们中最大值和最小值并输出

java输出最大值和最小值