C ++ MODF

C ++ MODF
Modf () es una función predefinida incorporada en el lenguaje de programación C ++. Esta función se usa para cálculos matemáticos. Todas estas funciones están presentes en el archivo de encabezado de C ++ Math. H '. La mayoría de la variable 'doble' se utiliza para todas las funciones que están disponibles en esta biblioteca y también devuelve el valor doble como resultado.

Modf () funcionando

La función modf () funciona de tal manera que separa/divide el argumento dado en dos partes. Un valor sería un valor entero, mientras que el segundo es el valor fraccional. Mientras ejecuta esta función, almacena la parte entera en la dirección de memoria que se apunta a través del puntero, que ocurre como un segundo argumento de la función. De esta manera, se devuelve la parte fraccional del valor.

Sintaxis de Modf ()

Doble modf (A y B)

Parámetros

A: Es el valor en el que tenemos que aplicar la función. Se descompone en dos partes.

B: Es un valor de tipo de puntero que apunta hacia la parte entera de A, después del proceso de ruptura.

Valor de devolución

El valor de regreso en el valor fraccional de un.

Prototipo de Modf ()

  • doble modf (dble a, dble* intpart);
  • flotante modf (flt a, flt* intpart);
  • Long Double Modf (Lng Dble A, Lng Dble* intpart);

Implementación de la función Modf ()

Ejemplo 1

En el primer paso, como en todos los programas C ++, incluimos bibliotecas de soporte de C ++ que son esenciales para el logro de algunas características y operaciones. De manera similar en este programa, se incluyen dos archivos de encabezado. Como sabemos sobre la transmisión de entrada y salida, esto lo hace iStream. En segundo lugar, cualquier operación matemática que desee agregar al programa necesita la participación de la Biblioteca CMATH.

#incluir
#incluir

Luego, en el programa principal, una doble variable se inicializará mediante un valor decimal. Y dos variables de doble tipo intpart, y el fractPart también se introduce aquí. Ambos almacenarán los valores respectivos después de la separación.

Se aplica la función, cuyo valor de retorno se almacenará en la variable fractPart.

MODF (X e IntPart)

Esta función tomará dos parámetros en ella. Esta función dividirá el número decimal en partes integrales y fraccionarias. Aquí, tomaremos otro decimal pero un número negativo. Esto volverá a utilizar el mismo método de MODF de la misma manera.

Al compilar el código, necesitamos un compilador. Es decir, G ++, un archivo de entrada en el que está presente el código, un archivo de salida en el que se mostrará el resultado. Esto necesita una palabra clave '-o' para guardar la salida en el archivo.

$ G ++ -O MODF MODF.C
ps ./MODF

En la ejecución, verá que un valor decimal positivo se divide en una parte integral y en la parte fraccional. Mientras que para el segundo valor, los valores resultantes son los mismos, pero ambos serán negativos ya que el valor de entrada es negativo.

Ejemplo # 2

En este ejemplo, en lugar de tener un valor doble o decimal, tomaremos un valor entero. En el caso de los valores decimales, al ver el valor, quedó claro sobre la parte integral y fraccional. Porque la parte integral es la que se encuentra antes del decimal '.'. mientras que la parte fraccional se encuentra después del punto. Pero la respuesta precisa se obtiene utilizando la función modf (). Entonces, en el caso de un entero, el decimal no está presente. ¿Cómo podemos aplicar la función MODF en esta situación?? Lo veremos a través de un ejemplo. Tanto el IntPart como el FractPart se toman como un tipo de datos dobles. La función de MODF se aplica de la misma manera que hemos aplicado en el primer ejemplo.

FractPart = modf (x, & intpart);

Guarde el código y luego lo ejecutaremos con el compilador.

En la ejecución, verá que el entero en su conjunto está escrito en lugar de una parte integral, y luego se agrega el signo más y después de eso se escribe '0' porque el valor entero no tenía ninguna fracción decimal y ninguna fracción de fracción parte. Es por eso que la función la calculará automáticamente como 0.

Ejemplo # 3

Ahora, le pediremos al usuario que ingrese cualquier número y luego usaremos la función modf () en ese valor para que la función pueda separar ambos valores de la variable. A partir de las dos bibliotecas básicas como lo habían hecho los ejemplos anteriores. En la ejecución, un mensaje se verá visto en el terminal, de modo que el usuario ingrese al número.

La función se aplicará a los valores. La parte integral y fraccional se mostrará en consecuencia, dependiendo del valor que el usuario ingresará. Ahora, ejecutaremos el código y luego ingresaremos diferentes valores para ver el valor resultante colectivamente.

Primero, ingresaremos un valor negativo, pero no será un valor decimal. Cuando la función se aplicará al valor, separará cada parte integral y la parte fraccional. Como no hay dígito fraccional, la respuesta será cero. Pero el signo negativo seguirá con la parte cero.

Pero la función solo separa los números independientemente del signo que hemos aplicado con los enteros. Ahora, ingresaremos '0' como número de entrada. Esta vez, tanto para los valores integrales como para los fraccionarios, la respuesta será la misma.

Ejemplo # 4

Hasta ahora, hemos tomado valores enteros y dobles como entrada para el programa, pero aquí tomaremos una cadena en lugar de cualquier tipo de datos flotantes o enteros. Independientemente del número que sea un número decimal '5.06 '. Primero, tome dos variables de doble tipo que se utilizarán en la función MODF. Y para el valor de entrada, tome un valor de tipo de datos de cadena que esté encerrado en las quotas dobles.

Cadena k = "5.06 ";

Ahora, aplique la función para dividir la cadena en dos partes. Cierre el programa, guárdelo y luego vaya al terminal para su ejecución.

Cuando ejecute el programa, verá que durante la compilación, se ha producido un error y el programa se rescinde sin ejecución. Esto indica que 'no hay función coincidente para llamar a modf () ...'. Esto significa que el error radica en la llamada de función.

A partir de esto, se afirma que la función modf () solo toma valores dobles, enteros y flotantes como parámetro. No acepta cadenas de personajes. Por eso ha aparecido el error. Aunque el valor contiene números con una fracción decimal como el tipo de datos de variable como cadena, significa que el valor no era un entero, sino una cadena. El modf () verifica el valor y luego lo ejecuta separando el número de entrada.

Conclusión

'C ++ modf ()' es la descripción de la función de trabajo de modf () en el código fuente de C ++ que hemos implementado en el editor de texto de Ubuntu y el terminal de Linux. Cada ejemplo se implementa siguiendo un enfoque diferente. Modf () rompe dos valores como resultado. Uno es integral y el segundo es la parte fraccional. Una función incorporada toma solo dos parámetros y en la ejecución devuelve solo una parte fraccional.