fmax () и fmin () в C ++

Опубликовано: 31 Декабря, 2021

Функции fmax () и fmin () определены в заголовочном файле cmath.

  1. Функция fmax (): Синтаксис этой функции:
    двойной fmax (двойной x, двойной y);
    float fmax (float x, float y);
    long double fmax (длинный двойной x, длинный двойной y);
    

    Входными данными этой функции являются два значения типа float, double или long double. Функция возвращает максимум из двух входных значений.

    Ниже приведен пример программы на C ++, демонстрирующей работу функции fmax ():

    // CPP program to show working
    // of fmax() function.
    #include <cmath>
    #include <iomanip>
    #include <iostream>
    using namespace std;
    int main()
    {
    double val;
    // Find maximum value when both the inputs
    // are positive.
    val = fmax(10.0, 1.0);
    cout << fixed << setprecision(4)
    << "fmax(10.0, 1.0) = " << val << " " ;
    // Find maximum value when inputs have
    // opposite sign.
    val = fmax(-10.0, 1.0);
    cout << fixed << setprecision(4)
    << "fmax(-10.0, 1.0) = " << val << " " ;
    // Find maximum value when both the inputs
    // are negative.
    val = fmax(-10.0, -1.0);
    cout << fixed << setprecision(4)
    << "fmax(-10.0, -1.0) = " << val << " " ;
    return 0;
    }
    Выход:
    fmax (10,0; 1,0) = 10,0000
    fmax (-10.0, 1.0) = 1.0000
    fmax (-10,0, -1,0) = -1,0000
    
  2. Функция fmin (): Синтаксис этой функции:
    двойной fmin (двойной x, двойной y);
    float fmin (float x, float y);
    длинный двойной фмин (длинный двойной х, длинный двойной у);
    

    Входными данными этой функции являются два значения типа float, double или long double. Функция возвращает минимум из двух входных значений.

    Ниже приведен пример программы на C ++, демонстрирующей работу функции fmin ():

    // CPP program to show working
    // of fmin() function.
    #include <cmath>
    #include <iomanip>
    #include <iostream>
    using namespace std;
    int main()
    {
    double val;
    // Find minimum value when both the inputs
    // are positive.
    val = fmin(10.0, 1.0);
    cout << fixed << setprecision(4)
    << "fmin(10.0, 1.0) = " << val << " " ;
    // Find minimum value when inputs have
    // opposite sign.
    val = fmin(-10.0, 1.0);
    cout << fixed << setprecision(4)
    << "fmin(-10.0, 1.0) = " << val << " " ;
    // Find minimum value when both the inputs
    // are negative.
    val = fmin(-10.0, -1.0);
    cout << fixed << setprecision(4)
    << "fmin(-10.0, -1.0) = " << val << " " ;
    return 0;
    }
    Выход:
    fmin (10,0; 1,0) = 1,0000
    fmin (-10.0, 1.0) = -10.0000
    fmin (-10.0, -1.0) = -10.0000
    

    Примечание: рассмотрим случай, когда аргументы функции имеют разные типы. В этом случае аргументы сначала неявно приводятся к типу функцией, а затем возвращается требуемое максимальное / минимальное значение.
    Ниже приведен пример программы на C ++, иллюстрирующий этот случай:

    // CPP program to show working
    // of fmin() and fmax()function
    // when input values are of
    // different data types.
    #include <cmath>
    #include <iomanip>
    #include <iostream>
    using namespace std;
    int main()
    {
    double val;
    // Find minimum value when one of the inputs
    // is of type float and other is of type
    // double.
    val = fmin(10.0f, 1.0);
    cout << fixed << setprecision(4)
    << "fmin(10.0f, 1.0) = " << val << " " ;
    // Find maximum value when one of the inputs
    // is of type float and other is of type
    // double.
    val = fmax(10.0, -1.0f);
    cout << fixed << setprecision(4)
    << "fmax(10.0, -1.0f) = " << val << " " ;
    return 0;
    }
    Выход:
    fmin (10.0f, 1.0) = 1.0000
    fmax (10.0, -1.0f) = 10.0000
    
    Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .