Las funciones fmax() y fmin() se definen en el archivo de encabezado cmath .
- Función fmax(): La sintaxis de esta función es:
double fmax (double x, double y); float fmax (float x, float y); long double fmax (long double x, long double y);
La entrada a esta función son dos valores de tipo float, double o long double. La función devuelve el máximo de los dos valores de entrada.
A continuación se muestra un programa C++ de muestra para mostrar el funcionamiento de la función 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 <<
"\n"
;
// Find maximum value when inputs have
// opposite sign.
val = fmax(-10.0, 1.0);
cout << fixed << setprecision(4)
<<
"fmax(-10.0, 1.0) = "
<< val <<
"\n"
;
// 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 <<
"\n"
;
return
0;
}
Producción:fmax(10.0, 1.0) = 10.0000 fmax(-10.0, 1.0) = 1.0000 fmax(-10.0, -1.0) = -1.0000
- Función fmin(): La sintaxis de esta función es:
double fmin (double x, double y); float fmin (float x, float y); long double fmin (long double x, long double y);
La entrada a esta función son dos valores de tipo float, double o long double. La función devuelve el mínimo de los dos valores de entrada.
A continuación se muestra un programa C++ de muestra para mostrar el funcionamiento de la función 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 <<
"\n"
;
// Find minimum value when inputs have
// opposite sign.
val = fmin(-10.0, 1.0);
cout << fixed << setprecision(4)
<<
"fmin(-10.0, 1.0) = "
<< val <<
"\n"
;
// 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 <<
"\n"
;
return
0;
}
Producción:fmin(10.0, 1.0) = 1.0000 fmin(-10.0, 1.0) = -10.0000 fmin(-10.0, -1.0) = -10.0000
Nota: Considere un caso en el que los argumentos de la función son de diferentes tipos. En ese caso, los argumentos primero son encasillados implícitamente por la función y luego se devuelve el valor máximo/mínimo requerido.
A continuación se muestra un programa C++ de muestra que ilustra este caso:
// 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 << "\n" ; // 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 << "\n" ; return 0; } |
fmin(10.0f, 1.0) = 1.0000 fmax(10.0, -1.0f) = 10.0000