Función diferente en c ++

Función diferente en c ++
Al calcular o realizar cualquier operación, es posible que necesitemos cualquier función para calcular el tiempo total que ha pasado hasta ahora o proporcionar la diferencia de tiempo en segundos entre dos puntos. En C ++, puede haber diferentes formas de realizar esta tarea de manera inapropiada. Pero discutiremos la función incorporada de C ++, es decir, difftime () función, ya que el nombre indica que calcula la diferencia en el tiempo. Esta función se define en la biblioteca . Entonces, siempre que estemos dispuestos a calcular el tiempo, necesitaremos esta biblioteca en el código fuente.

Sintaxis de Difftime ()

doble difftime (Time_obj End, Time_obj Start);

La función toma dos parámetros en ella. Estos son los objetos que se declaran a través del objeto del tiempo 'Time_obj'. Uno es el 'final' que muestra el tiempo final de cualquier proceso. Al mismo tiempo, el segundo es el 'inicio' que representa el tiempo de inicio. El valor de regreso de la función Difftime () devuelve la diferencia entre el tiempo en segundos obtenidos de los dos objetos como se describe anteriormente.

Esta función está asociada con la función incorporada Time () en C ++, ya que esta función devuelve el tiempo de calendario actual. Esto también está presente en el archivo de encabezado de C++.

Implementación de la función Difftime ()

Ejemplo 1 # difftime () para los productos

Para encontrar la diferencia entre dos veces en segundos, es necesario agregar la biblioteca en la que se define la función de difftime (). En el lenguaje de programación C ++, esta biblioteca debe usarse.

#incluir
#incluir

Como se discutió anteriormente, en el programa principal, son necesarios dos objetos, inicio y finalización para calcular la diferencia entre los tiempos. Estos dos objetos se declaran utilizando Time_Time.

Time_t comienza, termina

Se declara otra variable con el producto de nombre de un tipo de datos largo que almacenará los resultados de la operación en él. Cada vez que la lógica que deseamos aplicar en el programa, esto se escribirá dentro del cuerpo de objetos de inicio y finalización.

Tiempo (y comenzar);
Tiempo (y acabado);

Debido a que el objeto de hora de inicio comienza el tiempo y continúa mientras la función/ operación está en progreso cuando el proceso está terminado, el objeto terminado observa el tiempo de finalización. Por ejemplo, en este programa explicado a continuación, hemos utilizado un bucle 'para' simple para calcular el producto de dos valores. Estos dos valores comienzan desde 0 y terminan a un gran valor. El bucle externo 'para' termina antes de 1000, y el bucle interno termina a 30000; Dentro del bucle 'for', el cuerpo en cada iteración, el número del exterior y el número del bucle interno se multiplican. Las variables 'i' y 'j' se denotan a cada número después de cada iteración, un nuevo número en cada ciclo. El resultado se almacena en la variable 'Producto'

Producto = i * j;

El tiempo requerido que queremos obtener se calcula a través de la función diferente. Como esta función contiene dos parámetros en ella, la función será:

Difrftime (acabado, inicio);

Esta función devolverá el tiempo obtenido restando la hora de inicio desde la hora de finalización.

Ahora guarde el código fuente con la extensión C. Usamos un compilador G ++ para compilar un archivo C ++ y ejecutarlo. El archivo que usamos aquí es 'DIF. c 'que contiene el código fuente, se compila y la salida se almacena en el archivo de salida a través de' -o '.

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

Puedes ver que el tiempo requerido es de 0 segundos. Significa que el bucle anidado calculará el producto en 0 segundos. En el código anterior, el valor en el bucle externo es menor que el interno, por lo que la diferencia de tiempo fue cero porque se puede calcular fácilmente. ¿Qué pasa si el valor en el bucle interno para el bucle se vuelve más pequeño que el exterior para el bucle?? Explicaremos en lo sucesivo. El resto de los requisitos son los mismos. El producto se calculará dentro del bucle. Usaremos los objetos de inicio y finalización para notar los valores de inicio y finalización.

Ahora guarde el código y ejecutarlo. En la ejecución, verá que llevará algún tiempo. En comparación con la situación anterior, eso toma solo cero segundos, y el resultado se mostró abruptamente, pero en este caso, parece que debe haber más de cero segundos.

Después de una espera, verá la declaración resultante. Según esto, los bucles tardaron 62 segundos en ejecutarse para que se pueda calcular el producto de dos valores durante cada iteración.

Ejemplo 2 # difftime () para bucles anidados

A diferencia de la declaración anterior, hemos utilizado una biblioteca diferente aquí.

No hay necesidad de especificar 'iostream' y 'ctime' o cualquier otra biblioteca usando esta biblioteca. Ambas variables se inicializan. En este ejemplo, hemos usado anidados para bucles tres veces. Cada bucle anidado termina y el siguiente bucle anidado comienza. Cada bucle dentro del bucle anidado tiene un valor diferente para la variable I; Para la variable j, los valores son los mismos para el bucle interno.

Además, no hemos calculado nada ni ninguna operación. Solo la ejecución de los bucles había tenido lugar. Las variables de inicio y finalización observarán el tiempo de inicio y final.

Después de cada ejecución, al final, se llama a la función Difftime () para ejecutar la respuesta.

Diferente (final, inicio)

Ejecutaremos el código fuente para ver los segundos consumidos en la ejecución de tres bucles anidados.

Tardará 10 segundos para los tres bucles colectivamente.

Ejemplo 3 # difftime () por un tiempo entre fechas

Calcular la diferencia de tiempo desde el inicio del programa hasta que termine ya se elabora. Nuestra preocupación por la discusión es calcular la diferencia en segundos desde un día específico hasta ahora. Aquí las fechas no se mencionan correctamente. Pero el programa obtendrá la fecha actual del sistema. Aquí calcularemos la diferencia en el tiempo en segundos desde el día de año nuevo hasta ahora.

El objeto de la biblioteca de tiempo se usa para obtener la hora actual para que se pueda calcular la diferencia. Aquí no necesitamos las variables de inicio y finalización por separado.

Una estructura del tiempo 'Año Nuevo' se inicializa aquí. Usaremos la variable 'ahora' para obtener la hora actual.

Ahora);

El objeto 'tm' de la estructura de año nuevo declarará las horas, mínimos, segundos y mes como cero. La función DiFFTME se llamará que tomará ahora (hora actual), y otra función incorporada dentro del parámetro para obtener el tiempo nuevo en segundos.

Segundos = difftime (ahora, mktime (& newyear));

Ahora ejecute el programa; Verá que se pasan 6036632 segundos hasta ahora de acuerdo con la fecha actual de su sistema.

Conclusión

'difftime () c ++' es una función que trata de obtener el tiempo en segundos obtenidos restando el tiempo de comenzar desde el momento de la finalización; Estas dos variables de un tipo de objeto de tiempo se utilizan para proporcionar tiempo en segundos. Ahora terminando el artículo, hablaremos sobre algunos ejemplos que hemos incluido en el artículo. Esta función también ayuda a proporcionar el tiempo desde una fecha específica hasta ahora, como se discutió anteriormente en el ejemplo.